C#定义接口的代码如下:
interface IMyInterface
{
}
接口默认定义为内部接口,即默认的关键字是internal,所以要使接口可以公开访问必须使用关键字public
PS:不能像实例化类那样实例化接口,另外接口不能使用访问修饰符(public 、private、protected、internal),所有接口都隐式的是公共的,
接口成员不能包含代码体,接口不能定义字段成员,不能用static、virtual、astract、sealed来定义接口成员,类型定义成员是进制的
但是如果要隐藏从基接口中继承的成员,可以用new关键字来定义它们,如:
interface IMyBaseInterface
{
void DoSomething()
}
interface IMyDerivedInterface : IMyBaseInterface
{
new void DoSomething();
}
如果显式地实现接口成员,就只能通过接口来访问该成员,上面的代码是隐式实现接口的成员的,所以可以用类来访问
下面的代码是显式地实现接口成员
public class MyClass:IMyIntterface
{
void ImyInterface.DoSomething()
{}
public void DoSomethingElse()
{}
}
IMyInterface my=new MyClass();
my.DoSomething();