接口是一种引用类型,在接口中可以声明( ),但不可以声明公有的域或私有的成员变量。

接口可以是命名空间或类的成员。 接口声明可以包含以下成员的声明(没有任何实现的签名):

接口中的成员主体是默认实现。 具有主体的成员允许接口为不提供重写实现的类和结构提供“默认”实现。 接口可能包括:

使用显式接口实现语法的成员声明。

显式访问修饰符(默认访问权限为 public)。

接口不能包含实例字段、实例构造函数或终结器。 接口成员默认是公共的,可以显式指定可访问性修饰符(如 public、protected、internal、private、protected internal 或 private protected)。 private 成员必须有默认实现。

实现接口的类或结构必须实现其所有成员。

从 C# 8.0 开始,接口可以定义其部分或全部成员的默认实现。 实现接口的类或结构不一定要实现具有默认实现的成员。

接口无法直接进行实例化。 其成员由实现接口的任何类或结构来实现。

一个类或结构可以实现多个接口。 一个类可以继承一个基类,还可实现一个或多个接口。