C#基础五

来源:互联网 发布:洋气的英文淘宝店铺名 编辑:程序博客网 时间:2024/06/05 08:27

Reading C#高级编程(第四版)……………………………………………………………………………………………………………………………………………………………

 

委托

C++中定义的函数指针,在C#中成了委托,委托是一个C#类型,派生自System.Delegate

定义:private delegate string GetAString();

使用:GetAString fMethord = new GetAStrin(x.ToString);

         fMethor();//same as  "x.ToString()"

 

匿名委托

delegate string delegateTest(string val);

delegateTest anonDel = delegate(string param)

{

    param+=mid;

    param+="add to string now.";

    return param;

}

delegateTest anonDel = new delegateTest(param+=mid;);

 

多播委托

delegate string delegateTest(string val);

delegateTest oper =  new delegateTest(ClassA.MultiplyByTwo);

oper+= new delegateTest(ClassB.MultiplyByTwo);

oper += oper1;

oper -= oper1;

 

事件其实使用委托实现的

 

评注:C#使用委托的方法实现了signal-slot技术,缺点是方式太单一不灵活

 

 

原创粉丝点击