草庐IT

multiple-interface-implem

全部标签

c# - 接口(interface)与抽象类

这个问题在这里已经有了答案:HowdoyoudecidebetweenusinganAbstractClassandanInterface?[duplicate](3个答案)InterfacevsBaseclass(38个答案)关闭8个月前。在C#中,什么时候应该使用接口(interface),什么时候应该使用抽象类?决定因素是什么?

c# - 接口(interface)与抽象类

这个问题在这里已经有了答案:HowdoyoudecidebetweenusinganAbstractClassandanInterface?[duplicate](3个答案)InterfacevsBaseclass(38个答案)关闭8个月前。在C#中,什么时候应该使用接口(interface),什么时候应该使用抽象类?决定因素是什么?

c# - 为什么要显式实现接口(interface)?

那么,究竟什么是显式实现接口(interface)的好用例?是否只是为了让使用该类的人不必查看智能感知中的所有这些方法/属性? 最佳答案 如果你实现了两个接口(interface),都具有相同的方法和不同的实现,那么你必须显式实现。publicinterfaceIDoItFast{voidGo();}publicinterfaceIDoItSlow{voidGo();}publicclassJustDoIt:IDoItFast,IDoItSlow{voidIDoItFast.Go(){}voidIDoItSlow.Go(){}}

c# - 为什么要显式实现接口(interface)?

那么,究竟什么是显式实现接口(interface)的好用例?是否只是为了让使用该类的人不必查看智能感知中的所有这些方法/属性? 最佳答案 如果你实现了两个接口(interface),都具有相同的方法和不同的实现,那么你必须显式实现。publicinterfaceIDoItFast{voidGo();}publicinterfaceIDoItSlow{voidGo();}publicclassJustDoIt:IDoItFast,IDoItSlow{voidIDoItFast.Go(){}voidIDoItSlow.Go(){}}

c# - 使用接口(interface)时如何实现私有(private) setter ?

我已经创建了一个具有一些属性的接口(interface)。如果接口(interface)不存在,则类对象的所有属性都将设置为{get;privateset;}但是,这在使用接口(interface)时是不允许的,那么这是否可以实现,如果可以的话如何实现? 最佳答案 在接口(interface)中你只能为你的属性定义getterinterfaceIFoo{stringName{get;}}但是,在您的类(class)中,您可以将其扩展为拥有一个privatesetter-classFoo:IFoo{publicstringName{g

c# - 使用接口(interface)时如何实现私有(private) setter ?

我已经创建了一个具有一些属性的接口(interface)。如果接口(interface)不存在,则类对象的所有属性都将设置为{get;privateset;}但是,这在使用接口(interface)时是不允许的,那么这是否可以实现,如果可以的话如何实现? 最佳答案 在接口(interface)中你只能为你的属性定义getterinterfaceIFoo{stringName{get;}}但是,在您的类(class)中,您可以将其扩展为拥有一个privatesetter-classFoo:IFoo{publicstringName{g

c# - 如何将接口(interface)用作 C# 泛型类型约束?

有没有办法得到下面的函数声明?publicboolFoo()whereT:interface;即。其中T是接口(interface)类型(类似于whereT:class和struct)。目前我已经解决了:publicboolFoo()whereT:IBase;其中IBase被定义为一个空接口(interface),它被我所有的自定义接口(interface)继承……不理想,但它应该可以工作……为什么不能定义泛型类型必须是一个接口(interface)?就其值(value)而言,我想要这个是因为Foo在需要接口(interface)类型的地方进行反射...我可以将其作为普通参数传入并在函

c# - 如何将接口(interface)用作 C# 泛型类型约束?

有没有办法得到下面的函数声明?publicboolFoo()whereT:interface;即。其中T是接口(interface)类型(类似于whereT:class和struct)。目前我已经解决了:publicboolFoo()whereT:IBase;其中IBase被定义为一个空接口(interface),它被我所有的自定义接口(interface)继承……不理想,但它应该可以工作……为什么不能定义泛型类型必须是一个接口(interface)?就其值(value)而言,我想要这个是因为Foo在需要接口(interface)类型的地方进行反射...我可以将其作为普通参数传入并在函

c# - 有没有办法导航到接口(interface)背后方法的实际实现?

在VisualStudio中,当您右键单击一个方法调用时,您将转到该方法在类中的实现,除非您通过接口(interface)访问该方法:在这种情况下,您将转到接口(interface)方法而不是实际方法实现。是否有方法/提示(快捷键或其他)来访问此实际实现?否则你只能添加一些评论来记住你在哪里实现了它,这真的没有效率而且容易出错!更新:有趣的答案,但我不是很满意,因为所有这些都很麻烦。我举一个具体的例子:IInterfaceiInterface=someObject;iInterface.someMethod();实际上,如果VisualStudio稍微聪明一点,只看方法调用上方的一行,

c# - 有没有办法导航到接口(interface)背后方法的实际实现?

在VisualStudio中,当您右键单击一个方法调用时,您将转到该方法在类中的实现,除非您通过接口(interface)访问该方法:在这种情况下,您将转到接口(interface)方法而不是实际方法实现。是否有方法/提示(快捷键或其他)来访问此实际实现?否则你只能添加一些评论来记住你在哪里实现了它,这真的没有效率而且容易出错!更新:有趣的答案,但我不是很满意,因为所有这些都很麻烦。我举一个具体的例子:IInterfaceiInterface=someObject;iInterface.someMethod();实际上,如果VisualStudio稍微聪明一点,只看方法调用上方的一行,