C#中的委托
一、委托的概述与声明
委托是一种引用类型,表示对具有特定参数列表和返回类型的方法的引用。
可以通过委托实例调用方法。也可以使用委托将方法作为参数传递给其他方法。
委托的使用将大大提高程序的可扩展性。
委托声明决定了可由该委托引用的方法。委托可指向一个与其具有相同签名的方法:
public delegate <return type> <delegate-name> <parameter list>
使用示例:
public delegate string TranslationDelegate (string s);
二、委托的使用
1、委托实例化
TranslationDelegate transform=new TranslationDelegate(ChineseSayHello);
说明:
在C#2.0的语法中,实例化委托可以简写为,将方法引用直接指向委托:
TranslationDelegate transform= ChineseSayHello;
2、调用委托
调用“中文翻译”的委托方法: transform.Invoke("张三"); //委托的实际参数值 简化后的调用委托方法: transform ("张三");
3、多播委托
1、可通过使用“+”运算符将多个对象分配到一个委托实例上,形成多播委托。
2、多播委托被调用时会依次调用列表中的委托。
3、使用“-”运算符可用于从多播委托中删除组件委托。
使用示例:
static void Main(string[] args) { Operation operation = new Operation(Eating); operation += new Operation(WatchTV); operation.Invoke("明"); }
4、使用委托,将方法作为参数传递给另一个方法
使用示例:
public class User { public delegate void UserAction(); public void TakeAction(UserAction userAction) { userAction.Invoke(); } }
需要购买本课才能留言哦~