悬赏分:20 浏览:937 次
|
接口里不能有静态成员。
如果确实需要的话,可以用范型基类:
class Base<T>
{
static void Method()
{
...
}
}
interface代表的是一些抽象,interface的用途是在实例化对象的时候可以利用抽象分离具体实现,因此interface对应的事务具备了该interface所公开的所有方法。 static代表的是一个类所具有的静态方法,它是全局的,假象你有一个接口 interface IStaticExample{} 那么你假象的使用将会是IStaticExample.Method();而这样的使用会不会很别扭呢?举例生活中,接口代表一组功能,比如说 interface ICook { void AddSugar(); void AddSalt(); } 而如果你使用static的话,会不会觉得ICook.AddSugar();缺少主语呢…… [貌似举例都不太好,将就着看吧……] abstract class与interface基本相同,可以参考使用…… 通常也可以设立对应的Helper类进行操作,如: interface ICook{/**/} static class CookHelper{/**/} 上面的大大们回答的都很好啊。就是这样的。 补充一点,如果你真的希望这样暴露接口,可以采用Interface显示实现的方式,如下: interface ITest { void TestMethod(); } class Test : ITest { void ITest.TestMethod() { Test.TestMethod(); } public static void TestMethod() { } } |