草庐IT

Set接口_network

全部标签

c# - "Object reference not set to an instance of an object": why can't . NET 显示更多细节?

“对象引用未设置到对象的实例”为什么异常不显示对象引用字段的名称,或者至少不显示它的类型?这可能是.NET中最常见的运行时错误之一。尽管System.Exception有堆栈跟踪,但没有其他有用的详细信息。在一年的时间里,我花了几个小时筛选堆栈跟踪(通常是在我没有编写的代码中),希望有一个来自“.pdb”文件的行号,然后在代码中找到该行,甚至那么该行中的哪个引用为空通常并不明显。拥有引用字段的名称会非常方便。如果System.ArgumentNullException实例可以显示方法参数的名称(“值不能为空。参数名称:值”),那么System.NullReferenceExceptio

c# - 将 'Set Next Statement' 强制为 'if' block 时出现 CLR System.NullReferenceException

背景我承认这不是正常代码执行期间可能发生的事情,但我在调试时发现了它,并认为它很有趣,可以分享。我认为这是由JIT编译器引起的,但欢迎任何进一步的想法。我已经使用VS2013复制了这个针对4.5和4.5.1框架的问题:设置要查看此异常,必须启用CommonLanguageRuntimeExceptions:DEBUG>异常...我已将问题的原因提炼为以下示例:usingSystem.Collections.Generic;usingSystem.Linq;namespaceConsoleApplication6{publicclassProgram{staticvoidMain(){v

c# - 为什么在值类型上调用显式接口(interface)实现会导致它被装箱?

我的问题与这个问题有些相关:Howdoesagenericconstraintpreventboxingofavaluetypewithanimplicitlyimplementedinterface?,但有所不同,因为它根本不是通用的,因此不需要约束来执行此操作。我有密码interfaceI{voidF();}structC:I{voidI.F(){}}staticclassP{staticvoidMain(){Cx;((I)x).F();}}主要方法编译成这样:IL_0000:ldloc.0IL_0001:boxCIL_0006:callvirtinstancevoidI::F()

c# - AutoFixture 和接口(interface)

假设我有界面:publicinterfaceIFoo{intBar1{get;set;}intBar2{get;set;}}如果IFoo是类,我可以这样写:fixture.CreateAnonymous();结果将为Bar1和Bar2设置数字。但是如何使用界面来做到这一点呢?我尝试使用AutoMoqCustomization但这似乎是针对具有接口(interface)类型的属性而不是接口(interface)本身。我正在寻找像CreateAnonymous这样的自动化方式用于类。目前我正在创建接口(interface)模拟并显式设置它的属性,这是我想保存的工作。我一定遗漏了一些明显的东

c# - 更改实现接口(interface)模板

在VisualStudio2010中,是否可以更改实现接口(interface)时使用的默认模板?我想改变属性的实现publicintMyProperty{get{thrownewNotImplementedException();}set{thrownewNotImplementedException();}}到publicintMyProperty{get;set;}编辑所以我尝试编辑PropertyStub.snippet但无济于事,它没有改变任何东西......我发现了这个问题Changingpropertystubsforinterfacerefactoring这表明ReSh

c# - 如何指定接口(interface)的实现者抛出的异常?

我目前正在开发一个解决方案,并以一种能够强有力地实现策略/提供者模式的方式对其进行设计。因此,该解决方案公开了许多接口(interface)并包含这些接口(interface)的默认实现,这些接口(interface)可以通过DI类型方法进行替换。如果主机应用程序使用许多这样的接口(interface),它期望处理可能发生的某些异常,例如IDataRetriever接口(interface)有一个方法SomeDataTypeGetData(inttimeout);并且主机可以处理一些自定义异常,例如DataRetrievalTimeoutException或NetworkConnect

c# - C# 8 默认接口(interface)实现是否允许多重继承

根据https://blogs.msdn.microsoft.com/dotnet/2018/11/12/building-c-8-0/,C#8中的一项新功能是接口(interface)的默认实现。这个新特性是否也隐含地允许多重继承?如果不是,如果我尝试以下操作,究竟会发生什么:publicinterfaceA{intFoo()=>1;}publicinterfaceB{intFoo()=>2;}publicclassC:A,B{} 最佳答案 MadsTorgersen在您链接到的博客文章中回答了您的问题:Actuallyinter

c# - 如何查找方法是否正在实现特定接口(interface)

我有一个方法的MehtodBase,我需要知道该方法是否是特定接口(interface)的实现。所以如果我有以下类(class):classMyClass:IMyInterface{publicvoidSomeMethod();}实现接口(interface):interfaceIMyInterface{voidSomeMethod();}我希望能够在运行时(使用反射)发现某个方法是否实现了IMyInterface。 最佳答案 您可以使用GetInterfaceMap为此。InterfaceMappingmap=typeof(MyC

c# - 在 IObservable<T> 接口(interface)中返回 IDisposable 的目的是什么?

我正在阅读HeadFirstDesignPatterns一书,并尽力将代码从他们的Java转换为C#。在这本书讨论了观察者模式之后,它提到Java具有内置的类/接口(interface),.NET4也是如此。所以我开始研究如何正确使用它,除了Subscribe()方法外,我已经弄明白了大部分内容。如果您查看MSDNArticle当您尝试订阅IObserver时,该方法返回一个IDisposable。为什么那是必要的?为什么不只实现一个基于方法参数取消订阅IObserver的方法呢?IresearchedthereasontouseanIDisposableinterface.我也读过这

c# - 在存储库模式中使用接口(interface)优于抽象类的优势?

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:InterfacevsBaseclass使用接口(interface)实现的存储库模式很常见publicinterfaceIFooRepository{FooGetFoo(intID);}publicclassSQLFooRepository:IFooRepository{//CallDBandgetafoopublicFooGetFoo(intID){}}publicclassTestFooRepository:IFooRepository{//Getfoofromin-memorystorefortest