最近开发C#项目,发现有很多关键字不认识,特此笔记:
委托(delegate)
委托是一种引用类型,表示对具有特定参数列表和返回类型的方法的引用,相当于C++中函数指针 的概念。
我们经常遇到的EventHandler 、其实就是一个委托、大家看看它的定义
使用如下:
public delegate void ShowDelegate();
public void Show()
{
Debug.WriteLine("test");
}
#传入符合委托返回类型和参数列表的方法 可完成委托的实例化
ShowDelegate showDelegate = new ShowDelegate(test.Show);
事件(event)
事件是基于委托的,为委托提供一个订阅或发布的机制。事件是一种特殊的委托,调用事件和委托是一样的。事件可以被看作是委托类型的一个变量,可以通过+=为事件注册委托;-=为事件取消委托
事件的声明:
public event