引自:http://www.cnblogs.com/sifang2004/archive/2006/07/14/450565.html
接口的描述:
1.一个接口定义了一个契约。
2.接口可以包容方法、C#属性、事件、以及索引器。
3.在一个接口声明中,我们可以声明零个或者多个成员。
4.所有接口成员的默认访问类型都是public。
5.如果在接口成员声明中包括了任何修饰符,那么会产生一个编译器错误。
6.与一个非抽象类类似,一个抽象类必须提供接口中所有成员的实现,只要这些成员在这个类的基类中出现过。
接口的成员为什么没有委托?
我们都知道C#的接口是可以包含事件的,其实当我们看到事件的时候,很容易就会想到委托,委托是事件的基础,如果对委托和事件不是特别清楚的程序员就一定不会明白,为什么C#接口中可以包含事件而不能有委托呢。其实简单的说法就是委托也是类型,delegate关键字引入的是一个新的类型,所以一个C#接口无法包容一个委托并把它当作成员;而event关键字引入的是一个新的成员,因此事件可以归人接口。理解这点,我们要从C#接口的使命说起,C#接口是一个契约,规范了接口实现者的行为,而不是要有些什么。很简单,例如“党员”是个接口,它肯定有个动作是“为人民服务”,“某某党员”实现了“党员”这个接口,那么“某某党员”肯定也要“为人民服务”,至于你“某某党员”是否必须拥用“电脑”、“小孩”。那么“党员”这个接口中肯定不会有规定。这也就是接口的目的,规范了实现者的一些行为。所以C#接口的成员都是方法,不会有其它了。稍有c#常识的程序员都明白,c#中的属性,其实就是两个方法,一个Set方法,一个Get方法,同样事件和索引器也都是方法,请看下面的接口:
public interface IDrawingObject
{
event EventHandler OnDraw;
string Name
{
get;
set;
}
int this[int index]
{
get;
set;
}
void SetValue();
}
该接口包含了c#接口所能接纳的所有成员,事件,属性,索引器,方法.
用MSIL Disassembler工具查看一下:
属性Name对应于Get_Name(),Set_Name()这两个方法,事件OnDraw对应于add_OnDraw(),remove_OnDraw()这两个方法,索引器对应于get_Item(),set_Item()这两个方法。
在看下面的委托和类的定义:
public delegate void TestEventDelegate(object sender, System.EventArgs e);
class TestClass
{
public void SetValue()
{ }
}
定义一个委托和定义一个类是没有什么区别的,都是定义了个新的类型。所以C#接口是不能有委托的,除非微软告诉我们C#接口中是可以定义类的。
分享到:
相关推荐
具体讲解了 接口与抽象的区别 。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
实例演示C#中接口具体使用的方法和调用,请使用vs2019打开
C#中接口的定义以及使用,C#中接口的定义以及使用。
很好的一个关于c#接口的基础教程,让你看的明白
c#接口示例c#接口示例c#接口示例c#接口示例c#接口示例c#接口示例c#接口示例
c#接口详细介绍及实例c#接口详细介绍及实例c#接口详细介绍及实例c#接口详细介绍及实例
本文是关于面向对象的哲学体系及科学体系的探讨
大话c# 的接口 很多人问我c#中接口的含义是什么,怎么运用。这个是初学者经常迷惑的事情。于是我整理自己的接口的理解运用比较通俗的话来说说, 如不清楚到 这里看看 ...
实际项目往往以json或xml格式传输数据,本demo直接传输数据。先用vs运行接口程序,或发布到iis即可;再运行接口调用程序,调用地址以实际为准。
文件解压后有两个文件夹JieKou和JieFaSong。 JieKou为后台接口 JieFaSong为对接接口,主要代码在Main里,实现了Post和Get两种提交方式。
接口协议http访问方式post 利用C#创建post访问http接口.demo代码
C#调用Java接口演示
C#.net 支付宝接口 C#.net 支付宝接口 C#.net 支付宝接口 C#.net 支付宝接口 C#.net 支付宝接口
C# 实现泛型接口
接口(interface)用来定义一种程序的协定。...在前面的文章中,我们已经对C#接口的概念,如何定义接口以及如何对接口进行访问等问题进行了详细的讨论。在这些知识的基础上,本文我们将来了解实现接口的方法。
C# 访问URL接口进行调用代码实例,可通过本地直接访问远程url接口,收藏佳品
C# 后台请求接口的方法(GET,POST)
C#的接口事件示例程序,熟悉C#接口事件的运行
C#视频 接口讲解 抽象类
API函数是构筑Windows应用程序的基石,是Windows编程的必备利器。每一种Windows应用程序开发工具都提供了间接或直接调用了Windows API函数的方法