草庐IT

dll-interface

全部标签

c# - 创建模拟时如何组合两个接口(interface)?

我们正在使用RhinoMocks进行一些单元测试,需要模拟两个接口(interface)。对象上只实现了一个接口(interface),另一个是使用面向方面的方法动态实现的。有没有一种简单的方法可以动态组合这两个接口(interface),以便可以创建模拟并为两个接口(interface)stub方法? 最佳答案 使用Rhino模拟varmock=MockRepository.GenerateMock();mock.Stub(m=>m.FirstProperty).PropertyBehavior();((ISecond)mock)

c# - 如何获取实现给定接口(interface)的所有加载类型的所有实例?

我们需要获取实现给定接口(interface)的对象的所有实例-我们可以这样做吗?如果可以的话,怎么做? 最佳答案 如果您需要实现特定接口(interface)的所有类型的实例(示例),您可以遍历所有类型,检查接口(interface)并在找到匹配项时创建实例。这是一些看起来非常像C#的伪代码,甚至可以编译并返回您需要的内容。如果不出意外,它将为您指明正确的方向:publicstaticIEnumerableGetInstancesOfImplementingTypes(){AppDomainapp=AppDomain.Curren

c# - 如何覆盖 C# 中接口(interface)的等号运算符 ==?

我定义了以下接口(interface):publicinterfaceIHaveAProblem{stringIssue{get;set;}}下面是IHaveAProblem的实现:publicclassSomeProblem:IHaveAProblem{publicstringIssue{get;set;}publicoverrideboolEquals(objectobj){SomeProblemotherObj=objasSomeProblem;if(otherObj==null){returnfalse;}returnthis.Issue==otherObj.Issue;}pu

C# 转换继承的通用接口(interface)

我在转换我想出的界面时遇到了一些麻烦。它是C#Windows窗体的MVP设计。我有一个IView类,我在我的表单类上实现了它。还有一个IPresenter,我派生到各种特定的Presenter中。每个Presenter将根据角色以不同方式管理IView,例如打开对话框以使用AddPresenter输入一组新数据,而不是使用EditPresenter编辑现有数据,后者会将数据预加载到表单中。其中每一个都继承自IPresenter。我想这样使用代码:AddPresenterpres=newAddPresenter();我基本上可以正常工作,但是这些演示者和它们管理的View被捆绑到插件中,

c# - 为什么 C# 类可以隐式和显式地从一个接口(interface)继承?

今天偶然发现一个C#类可以隐式和显式继承一个接口(interface)。这让我很吃惊。如果C#以这种方式工作,那么当以不同方式引用时,一个实例可能会有不同的行为。interfaceIFoo{voidDoSomething();}classFoo:IFoo{#regionIFooMemberspublicvoidDoSomething(){Console.WriteLine("dosomethingimplicitly");}#endregion#regionIFooMembersvoidIFoo.DoSomething(){Console.WriteLine("dosomethinge

c# - 在项目中添加一个EXE文件,这样它就会像DLL一样被复制到Bin/Debug文件夹中?

我需要我的C#项目在执行期间启动另一个EXE程序。这个可执行文件需要放在与构建解决方案时放置的C#程序相同的文件夹中,例如,调试文件夹——就像DLL文件引用——这样当我的团队成员从TFScheckout项目时,并且调试,当我的C#代码尝试调用它时,找到了EXE。但是,EXE本身不是引用,因此不能将其添加为引用,即使我希望以与引用相同的方式复制它。这个问题有没有合理的解决方案?提前致谢。 最佳答案 您可以转到文件的属性,并在“复制到输出目录”下选择,copyifnewer 关于c#-在项目

c# - 如何从 Visual Studio 2017 中的类中提取接口(interface)

从类(C#)中提取接口(interface)的功能似乎在VS2017中发生了变化。我如何在VisualStudio2017中执行此操作。 最佳答案 右键单击类名并选择“QuickActionsandRefactorings...”,然后选择“Extractinterface...”请注意,您也可以单击类名称并按Ctrl+。调出相同的上下文菜单。 关于c#-如何从VisualStudio2017中的类中提取接口(interface),我们在StackOverflow上找到一个类似的问题:

c# - 在 C# 中实现接口(interface)与显式实现接口(interface)

这个问题在这里已经有了答案:C#Interfaces.ImplicitimplementationversusExplicitimplementation(13个答案)关闭9年前。我在VS2010中有两个用于实现接口(interface)的选项。当我有如下IHelper.cs接口(interface)时:publicinterfaceIHelper....IEnumerablePorts{get;}“显式实现接口(interface)”给出了这段代码:IEnumerableIHelper.Ports{get{...}}然后,“实现接口(interface)”给了我这个代码:public

c# - C# 中接口(interface)成员的访问修饰符

我从以下属性中收到编译错误。错误是:"Themodifier'public'isnotvalidforthisitem"publicSystem.Collections.Specialized.StringDictionaryIWorkItemControl.Properties{get{returnproperties;}set{properties=value;}}但是如果我删除IWorkItemControl它编译正常。为什么我会收到此错误以及在签名中包含/不包含接口(interface)名称有什么区别? 最佳答案 Expli

c# - 为什么我不能将 newtonsoft.Json.dll 引用添加到我的项目中?

我正在尝试添加引用“Newtonsoft.Json.dll”我已按照他的要求进行操作。它将此ref从“浏览”选项卡添加到“最近”选项卡。如果我查看引用列表中的引用列表,它会列出但带有黄色标记。当我将光标悬停在旗帜上时,它说:不可用,因为它不存在,或者没有build??所以我已将其从ref列表中删除并尝试重新添加它。它只出现在“最近”部分,当我添加它时,我得到:无法添加对“Newtonsoft.Json.dll”的引用。 最佳答案 它可能在您的构建系统中:dll可能正在被清理(如被重建删除),或者位于不在您的解决方案下的目录中,或者只