【c#小灶——使用visual studio编写第一个程序】教程文章相关的互联网学习教程文章

c# – 在删除代理链之前是否有必要检查处理程序是否存在?【代码】

我有一个基于委托的消息传递系统的小片段,您可以订阅和取消订阅事件处理程序,并提升新事件. 在我的Unsubscribe方法中,我检查以确保处理程序首先存在,然后再删除它. 我的问题是:这项检查是否必要?即我不能这样做:dic[type] -= handler;无:if (handler exists)dic[type] -= handler;如果是这样,为什么? – 我尝试了检查而不是检查,它们都产生了相同的实际结果.不知道为什么我更愿意使用其中任何一个. 码:public abstract class...

c# – 程序不包含适用于入口点的静态“主”方法【代码】

我知道对这个问题有很多疑问,但我的问题最糟糕.我有一个包含很多WPF应用程序的大项目.错误的是我已经删除了App.xaml,现在我在构建中有错误.我尝试的是采取备份App.xaml,甚至当我再次将它放在我的项目中时,我仍然遇到此错误.该怎么办 ?谢谢.解决方法:在文件属性中,将Build Action设置为ApplicationDefinition: 这将在中间输出文件(obj / App.g.cs)中为您生成Main方法:/// <summary> /// Application Entry Point. /// </summary>...

c# – 程序集以及何时不能选择强命名?

前段时间我在Stack Overflow,Assembly Names and Versions上询问了以下问题. 现在我已经意识到我无法使用强名称签署我的程序集,因为第三方依赖项之一不是强名称程序集,因此我的签名不可信. 我试图简单地将程序集文件名MyAssembly.dll更改为MyAssembly.v.1.1.dll,但是当我这样做并引用重命名的程序集时 – 它不会像其他引用一样被复制.似乎是因为文件名和程序集的Identity属性之间存在不匹配. 我有项目A和B,它们是项目C的依赖项.项目...

忽略C#命令行程序中的try块【代码】

我在C#中有一个命令行程序,我用一个try-catch块包装,以防止它崩溃控制台.但是,当我调试它时,如果在DoStuff()方法的某处抛出异常,Visual Studio将在“catch”语句中中断.我希望Visual Studio能够打破异常发生的位置.最好的方法是什么? 评论试试?Visual Sudio中的一个设置?#if DEBUG语句?static void Main(string[] args) {try{DoStuff();}catch (Exception e){ //right now I have a breakpoint hereConsole.WriteLine(e.Messa...

如果我在C#中的Main方法是私有的,为什么我的程序会工作?

默认情况下,类中每个成员的类型修饰符都是私有的,即使Main()函数类型修饰符是私有的. CLR如何调用外部世界不可见的主要方法?解决方法:这不是真的. 它必须是公开的.对于例如public static void Main(). 编辑:这是我发现的&今天学到了为什么Main不需要公开.http://social.msdn.microsoft.com/forums/en-US/csharpgeneral/thread/9184c55b-4629-4fbf-ad77-2e96eadc4d62/

c# – 使用Josh Smith的WPF MVVM演示应用程序实现ListView过滤器【代码】

我一直在尝试扩展Josh Smith的演示MVVM应用程序,以便更好地理解它背后的原理,并且当我尝试使用ListView在View上实现过滤器功能时,我遇到了障碍. 我花了几个小时研究和涉猎,但它只是没有用. 我的第一步是将视图中的文本框绑定到ViewModel中的属性:<TextBox Height="25" Name="txtFilter" Width="150" Text="{Binding Path=Filter, UpdateSourceTrigger=PropertyChanged}"/>这在我的VM中匹配:public string Filter{get { return th...

c# – 从VS2010 WCF服务应用程序获取WSDL【代码】

我刚刚在Visual Studio 2010中创建了一个示例WCF服务应用程序.它具有以下配置和服务代码.我需要看到生成的相应WSDL.我需要做些什么才能看到相应的WSDL? 码public class Service1 : IService1 {public string GetData(int value){return string.Format("You entered: {0}", value);}public CompositeType GetDataUsingDataContract(CompositeType composite){if (composite == null){throw new ArgumentNullException("composite")...

如何从c#asp.net应用程序代码后面写入chrome / ie / ff f12控制台【代码】

我已经在线查看了stackoverflow似乎只给了我在visual studio中写入窗口的代码.这不是我想要的,我希望从代码隐藏中获得console.log()js功能.解决方法:你不能直接通过代码后面的代码写入浏览器的控制台.代码隐藏正在您的服务器上执行,浏览器(或消费者)不知道那里发生了什么. 如果要传递将在console.log中显示的代码隐藏消息,则必须将它们呈现到页面中以通过javascript执行. 例如:<script> console.log('@(Model.your_message)'); </...

c# – NUnit在程序集中找不到测试

我使用MSTest继承了一个程序集,但是这些测试是在构建机器上使用nunit-console运行的(不确定它是如何工作的).所以我决定将它排序并将其更改为正确的NUnit测试,但现在nunit-console(或gui)找不到任何测试.它们使用ReSharper测试运行器运行得很好.知道可能缺少什么吗?解决方法:校验: >班级公开吗?>它是否具有公共无参数构造函数(例如,如果未指定任何其他构造函数,则为默认构造函数)>它是否在类级别具有[TestFixture]属性?>每项测试...

自动记录和统计(C#应用程序)【代码】

我正在尝试考虑输入统计信息和某种登录程序的最佳方法.1.有没有人有一篇关于在程序中实施的统计数据的好文章?2.我可以创建一个属性,以便在某个方法之前调用计时器来测量运行所花费的时间吗?例如class A {[RunTimer]public void Foo(){// do stuff} }编辑我们希望有机会在运行时控制统计数据,而不仅仅是ob dev或QA时间.解决方法:一种选择是创建一个高阶函数,它将为目标函数计时并记录结果:public static class TimingExtensions ...

c# – 有没有办法在我的asp.net应用程序中的类中使用Server.MapPath【代码】

我的应用程序的根目录下有一个log.txt文件.我希望能够让我的日志类能够访问此文件并写入它.但我不知道如何在我的代码中告诉它文件的正确路径.谢谢你的帮助using (StreamWriter w = File.AppendText("log.txt")){Log(e.ToString(),w);w.Close();}解决方法:使用Server.MapPath("~/log.txt")获取完整的文件名. 更新: 如果您不在ASP页面内,而是在常规课程中,请尝试:System.Web.HttpContext.Current.Server.MapPath("~/log.txt")更新2...

c# – 如何在wpf中更改应用程序文化?【代码】

这是我的代码.double value = double.Parse(Utility.GetParamValueOrDefault(omRecord.paramList[i].value, "0"),CultureInfo.CurrentCulture);这是我得到的错误出现FormatException:输入字符串的格式不正确 我已经阅读了StackOverFlow的一些线程,说我需要将以下代码添加到我的WPF应用程序的main()中.Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US"); Thread.CurrentThread.CurrentUICulture = new CultureInfo(...

c# – 我如何使用XDocument.Load()获取应用程序目录中的文件【代码】

我在项目的文件夹中有一个XML文件.我想使用XDocument.Load(字符串),但我是否必须将应用程序的完整路径写为URI的一部分(例如在我的示例中)?XDocument xml = XDocument.Load("c:/users/myuser/documents/visual studio 2010/Projects/ErrorRegistro/Registro.xml");解决方法:绕过资源问题的另一种方法是将文件添加到项目(与ressource解决方案相同),然后单击该文件,并在属性选项卡中选择“复制始终”复制到输出路径.这样,在构建时文件...

c# – Autofac:如何加载引用但未直接使用的程序集【代码】

我们使用Autofac for DI创建了一个WebApi解决方案.我们将autofac的引导分解为一个单独的项目.这样,我们的WebApi项目仅引用我们的Bootstrap和Contracts项目.然后我们的引导项目引用所有其他组件并将所有内容连接在一起.我喜欢这种设计用于分离关注点. 我们可以按如下方式手动加载我们的程序集 – 我们的“AutofacModule”类包含注册每个模块(程序集)的必要信息.ContainerBuilder builder = new Autofac.ContainerBuilder(); builder...

c# – Azure程序集引用ServiceBusTriggerAttribute是什么?

“How to use Azure Service Bus with the WebJobs SDK” Azure Documentation文章显示了[ServiceBusTrigger]属性用于集成WebJob和Azure Service Bus主题消息的用法.但是,在Visual Studio 2015中使用默认的Azure WebJobs项目模板,对ServiceBusTrigger的引用会导致以下编译时异常: 找不到类型或命名空间名称’ServiceBusTriggger(您是否缺少using指令或程序集引用?) 手头的问题是Nuget的Microsoft.Azure.WebJobs包不包含ServiceBu...