5 本我 4天前 101次点击
示例
interface IMyInterface
{
//接口成员
}
接口成员的定义与类成员的定义相似,但具有几个重要的区别:
● 不允许使用访问修饰符(public、private、protected或internal),所有接口成员都是隐式公共的。
● 接口成员不能包含代码体。
● 接口不能定义字段成员。
● 不能用关键字static、virtual、abstract或sealed来定义接口成员。
● 类型定义成员是禁止的。
但要隐藏从基接口中继承的成员,可以用关键字new来定义它们,例如:
interface IMyBaseInterface
{
void DoSomething();
}
interface IMyDerivedInterface : IMyBaseInterface
{
new void DoSomething();
}
其方式与隐藏继承的类成员的方式一样。
在接口中定义的属性可以定义访问块get和set中的哪一个能用于该属性(或将它们同时用于该属性),例如:
interface IMyInterface
{
int MyInt { get; set; }
}
其中int属性MyInt有get和set存取器。对于访问级别有更严格限制的属性来说,可以省略它们中的任一个。
注意:
这个语法类似于自动属性,但自动属性是为类(而不是接口)定义的,自动属性必须包含get和set存取器。
接口没有指定应如何存储属性数据。接口不能指定字段,例如用于存储属性数据的字段。最后,接口与类一样,可以定义为类的成员(但不能定义为其他接口的成员,因为接口不能包含类型定义)。