C#基礎五

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技術,缺點是方式太單一不靈活

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章