上面文章介紹了委托、匿名的定義,下面的例子則是由繁入簡,廢話不多說,直接上代碼:
class Program { private delegate int sum(int x, int y); private delegate int MyMulticastDelegate(int x, int y); static void Main(string[] args) { Console.WriteLine("委托方式一加法:"); sum addsum = new sum(add); int y = addsum(2, 3); Console.WriteLine("委托方式一加法:2+3" + y); Console.WriteLine("多波委托:有的時候,我們想要呼叫一個委托,但同時可以執行多個方法(自定義事件中最為常見),比如,一個作業檔案生成之后,系統要將生成檔案日志,而且還要被保存到資料庫中,對于以上二個操作,如果只想呼叫一個委托,就可以順序完成,那么使用多播委托,就可以實作,"); MyMulticastDelegate sumdele = new MyMulticastDelegate(add); MyMulticastDelegate subdele = new MyMulticastDelegate(sub); MyMulticastDelegate multicastDelegate = sumdele+subdele; multicastDelegate(2,2); Console.WriteLine("委托中的匿名方法(未簡化):"); sum Nofuntion = new sum(delegate( int x,int i) { return x * i; }); int k = Nofuntion(2,3); Console.WriteLine(k); Console.WriteLine("委托中的匿名方法(簡化):"); sum _sum =(int x, int m)=>{ return x * m; }; int z = Nofuntion(2, 3); Console.WriteLine(z); Console.ReadKey(); } private static int add(int x, int y) { Console.WriteLine(x+y); return x + y; } private static int sub(int x, int y) { Console.WriteLine(x - y); return x - y; } private static void mulitey(int x, int y) { Console.WriteLine(x * y); } }
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/192256.html
標籤:.NET技术
