我们如何定义方法?如何调用方法?先想想再继续下面的内容。


















委托是一种引用方法的类型。委托定义出它想要代表的方法的原型,然后它可以和任何符合它所定义的方法的原型相关联。但使用委托时就犹如你在调用一个方法。看看委托如何被定义、实例化和使用的。






















































定义一个委托: delegate 类型 委托名称(类型 参数名称, [类型 参数]) -- delegate void Mydeleg(string msg);
定义一个方法: 类型 方法名称(类型 参数名称, [类型 参数])-- void GetMessage(string msgInfo);
相似吗?是的。委托实际就是在定义它能够代表什么样的方法。如果这个方法符合委托所定义的方法“原型”我们就可以使用委托来调用那个方法。就是这样的。
为什么需要使用委托呢?简单的为了调用一个方法吗(也许就是这么简单)?我认为不仅仅这样。如果你运行以上的方法你会发现你真的能够去调用一个方法并且不用知道这个方法到底是什么方法名。方法到底是什么?本质上说我认为方法不过是执行一段代码而已(不是吗?),可是方法一旦确定后就必须使用方法名来调用它。委托却不需要这样做。看看下面的例子吧













































































所以我认为委托是你动态的调用方法变成可能。而动态调用方法的意义就在于你可以在任意的地方插入任意的代码,灵活度大大提高。