委托可以当作是一个类型,这个类型可以赋值一个方法的引用,将方法包装成了一个对象来进行使用。
委托的声明和使用
//无返回值无参数委托的定义方法
public delegate void Delegate ();
//无参数,无返回值方法
public void DoNothing()
{
// 没有参数,没有返回值
}
//给委托赋值的几种方式
//实例化委托,并传入方法
Delegate dele= new Delegate(this.DoNothing);
//LinqToObject
Delegate dele= () => { };
//直接赋值
Delegate dele= this.DoNothing;
//调用委托的方法
noreturn.Invoke()
//泛型委托
//无返回值,无参数委托,不需要单独声明
Delegate dele= this.DoNothing;
//无返回值,有参数委托,参数类型为泛型
Delegate <string> dele= p => { };
//返回类型为string,参数类型为string的委托
Delegate <string,string> dele= p => p;
//返回类型为bool,参数类型为string的委托
Delegate <string,bool> dele= p => p.Equals('');
使用委托的意义,参考文章:https://www.cnblogs.com/yancyfu/p/6862773.html