通用类型系统中的接口

更新:2007 年 11 月

接口定义用于指定“可以执行”关系或“具有”关系的协定。接口通常用于实现某种功能,如比较和排序(IComparableIComparable<T> 接口)、测试相等性(IEquatable<T> 接口)或枚举集合中的项(IEnumerableIEnumerable<T> 接口)。接口可具有属性、方法和事件,所有这些都是抽象成员;也就是说,虽然接口定义这些成员及其签名,但如何定义每个接口成员的功能则取决于实现该接口的类型。这意味着实现接口的任何类或结构都必须为该接口中声明的抽象成员提供定义。接口可以要求任何实现类或结构必须实现一个或多个其他接口。

对接口有以下限制:

  • 接口可以用任何可访问性来声明,但接口成员必须全都具有公共可访问性。

  • 不能向成员或接口自身附加安全性权限

  • 接口不能定义构造函数。

  • 接口不能定义字段。

  • 接口中定义的所有抽象属性、方法和事件都必须是实例成员;它们不能是静态成员。

每种语言都必须为需要成员的接口映射一个实现提供规则,因为不只一个接口可以用相同的签名声明成员,且这些成员可以有单独的实现。

请参见

概念

类型成员

安全权限

其他资源

通用类型系统