这可能是一个愚蠢的问题,如果有人能帮助我理解,我感激不尽。
C#
中的接口可以有静态变量吗?
如果接口本身需要静态来声明里面的静态变量?
当我们在一个类中实现时,接口中的静态变量(或者说属性)的实现如何?
非常感谢一些例子和明显的解释。
答案 0 :(得分:17)
不,C#中的界面根本无法声明字段。你不能在C#中声明一个静态接口,也不能在接口中声明静态成员。
根据C#规范的第11.2节:
接口声明可以声明零个或多个成员。接口的成员必须是方法,属性,事件或索引器。接口不能包含常量,字段,运算符,实例构造函数,析构函数或类型,接口也不能包含任何类型的静态成员。
所有接口成员都隐式拥有公共访问权限。接口成员声明包含任何修饰符是编译时错误。特别是,不能使用abstract,public,protected,internal,private,virtual,override或static修饰符声明接口成员。
答案 1 :(得分:2)
接口是一个契约,即任何实现类必须提供的公共实例方法和属性的描述。
接口不能指定任何静态方法或属性。它们不能指定内部,受保护或私有方法或属性。他们也不能指定字段。
答案 2 :(得分:-3)
1-不,因为interface
不是班级
2-考虑Abstract
类
1 Static Property
中的interface
未在C#