草庐IT

midi-interface

全部标签

c# - 使用 Autofac 解析通用接口(interface)

给定以下代码,如何在autofac中解析正确的SomeInstance?publicclassBaseClass{}publicclassSubClass1:BaseClass{}publicclassSubClass2:BaseClass{}publicinterfaceIGenericInterfacewhereT:BaseClass{}publicclassSomeInstance1:IGenericInterfacewhereT:SubClass1publicclassSomeInstance2:IGenericInterfacewhereT:SubClass2我想根据子类的泛

c# - 为多个接口(interface)返回相同的实例

我正在使用以下代码注册组件:StandardKernelkernel=newStandardKernel();stringcurrentDirectory=Path.GetDirectoryName(GetType().Assembly.Location)foreach(varassemblyinAppDomain.CurrentDomain.GetAssemblies()){if(!Path.GetDirectoryName(assembly.Location).Equals(currentDirectory))continue;foreach(vartypeinassembly.G

c# - 为多个接口(interface)返回相同的实例

我正在使用以下代码注册组件:StandardKernelkernel=newStandardKernel();stringcurrentDirectory=Path.GetDirectoryName(GetType().Assembly.Location)foreach(varassemblyinAppDomain.CurrentDomain.GetAssemblies()){if(!Path.GetDirectoryName(assembly.Location).Equals(currentDirectory))continue;foreach(vartypeinassembly.G

c# - 将 setter 添加到派生接口(interface)

是否有可能以某种方式在C#中实现此行为:publicinterfaceIReadOnly{DataValue{get;}}internalinterfaceIWritable:IReadOnly{DataValue{get;set;}}我希望能够向外部程序集公开一个只读接口(interface),但在内部使用一个可写接口(interface)(我也可以用不同的方式实现)。我知道我可以使用实现IReadOnly但添加setter的抽象类,但这迫使我从该类派生所有内部实现。 最佳答案 这不是问题:publicinterfaceIRead

c# - 将 setter 添加到派生接口(interface)

是否有可能以某种方式在C#中实现此行为:publicinterfaceIReadOnly{DataValue{get;}}internalinterfaceIWritable:IReadOnly{DataValue{get;set;}}我希望能够向外部程序集公开一个只读接口(interface),但在内部使用一个可写接口(interface)(我也可以用不同的方式实现)。我知道我可以使用实现IReadOnly但添加setter的抽象类,但这迫使我从该类派生所有内部实现。 最佳答案 这不是问题:publicinterfaceIRead

c# - VB.NET类继承一个基类并实现一个接口(interface)问题(在C#中工作)

我正在尝试在VB.NET中创建一个类,它继承了一个基本抽象类并实现了一个接口(interface)。该接口(interface)声明了一个名为Description的字符串属性。基类包含一个名为Description的字符串属性。主类继承基类并实现接口(interface)。基类中Description属性的存在满足接口(interface)要求。这在C#中工作正常,但在VB.NET中会导致问题。首先,这是一个有效的C#代码示例:publicinterfaceIFoo{stringDescription{get;set;}}publicabstractclassFooBase{publ

c# - VB.NET类继承一个基类并实现一个接口(interface)问题(在C#中工作)

我正在尝试在VB.NET中创建一个类,它继承了一个基本抽象类并实现了一个接口(interface)。该接口(interface)声明了一个名为Description的字符串属性。基类包含一个名为Description的字符串属性。主类继承基类并实现接口(interface)。基类中Description属性的存在满足接口(interface)要求。这在C#中工作正常,但在VB.NET中会导致问题。首先,这是一个有效的C#代码示例:publicinterfaceIFoo{stringDescription{get;set;}}publicabstractclassFooBase{publ

C# 接口(interface)不能包含运算符

谁能解释一下为什么C#接口(interface)不允许包含运算符?谢谢。 最佳答案 C#operatorshavetobestatic.根据定义,接口(interface)适用于实例。没有机制要求类型实现静态成员。编辑:从C#8.0开始,如您所见here,现在可以在接口(interface)中定义本地方法并在接口(interface)本身中实现它们,例如允许创建方法重载而无需实现也关心这些​​重载,当它们可能只是为必须实现的重载提供一个附加参数时。除此之外,您还可以在接口(interface)内定义运算符,但它们必须是静态的,因此必

C# 接口(interface)不能包含运算符

谁能解释一下为什么C#接口(interface)不允许包含运算符?谢谢。 最佳答案 C#operatorshavetobestatic.根据定义,接口(interface)适用于实例。没有机制要求类型实现静态成员。编辑:从C#8.0开始,如您所见here,现在可以在接口(interface)中定义本地方法并在接口(interface)本身中实现它们,例如允许创建方法重载而无需实现也关心这些​​重载,当它们可能只是为必须实现的重载提供一个附加参数时。除此之外,您还可以在接口(interface)内定义运算符,但它们必须是静态的,因此必

c# - 接口(interface)是否派生自 System.Object? C# 规范说是,埃里克说不,现实说不

问题很简单,在标题中问。C#4.0规范说:(§4.2.2)Theobjectclasstypeistheultimatebaseclassofallothertypes.EverytypeinC#directlyorindirectlyderivesfromtheobjectclasstype.EricLippertsays:Interfacetypes,notbeingclasses,arenotderivedfromobject.现实说:Typet=typeof(ICloneable).BaseType;Console.WriteLine(t==null);True那么规范是错误的