草庐IT

default-interface-member

全部标签

c# - 扩展方法可以应用于接口(interface)吗?

是否可以将扩展方法应用于接口(interface)?(C#问题)例如实现如下:创建ITopology接口(interface)为此接口(interface)创建扩展方法(例如publicstaticintCountNodes(thisITopologytopologyIf))然后在创建实现ITopology的类(例如MyGraph)时,它会自动具有CountNodes扩展。这样一来,实现接口(interface)的类就不必设置类名来与扩展方法中定义的内容保持一致。 最佳答案 当然可以;Linq的大部分内容都是围绕接口(interfa

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# - Properties.Settings.Default 存储在哪里?

我以为我知道这一点,但今天我再次被证明是错误的。运行VS2008、.NET3.5和C#。我使用默认值将用户设置添加到属性设置选项卡,然后使用以下代码读取它们:myTextBox.Text=Properties.Settings.Default.MyStringProperty;然后,当用户在选项对话框中编辑值后,我将其保存为:Properties.Settings.Default.MyStringProperty=myTextBox.Text;Properties.Settings.Default.Save();我的问题是,这个新值保存在哪里?可执行目录中的MyApp.exe.conf

c# - Properties.Settings.Default 存储在哪里?

我以为我知道这一点,但今天我再次被证明是错误的。运行VS2008、.NET3.5和C#。我使用默认值将用户设置添加到属性设置选项卡,然后使用以下代码读取它们:myTextBox.Text=Properties.Settings.Default.MyStringProperty;然后,当用户在选项对话框中编辑值后,我将其保存为:Properties.Settings.Default.MyStringProperty=myTextBox.Text;Properties.Settings.Default.Save();我的问题是,这个新值保存在哪里?可执行目录中的MyApp.exe.conf

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

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