對於委託中的隱藏方法有些迷惑,請高手給與說明
下面是三段代碼,請問CODE1 、CODE2 和 CODE3的區別,最好給予詳細說明。
CODE1:
using System;namespace ConsoleApplication1 {class Program { delegate string delegateTest (string val); static void Main (string[] args){ string mid = ",middle part,"; delegateTest anonDel = delegate (string param){ param += mid; param += "and this is added to the string."; return param; }; Console.WriteLine (anonDel( "Start of string" ) ); } }}
CODE2:
using System;namespace ConsoleApplication1 {class Program { delegate string delegateTest (string val); static string mid = ",middle part,"; static void Main (string[] args){ delegateTest anonDel = new delegateTest (DelMethod); Console.WriteLine (anonDel( "Start of string" ) ); } static string DelMethod(string param){ param += mid; param += "and this is added to the string."; return param; } }}
CODE3:
using System;namespace ConsoleApplication1 {class Program { delegate string delegateTest (string val); static void Main (string[] args){ string mid = ",middle part,"; delegateTest anonDel = new delegateTest (delegate (string param){ param += mid; param += "and this is added to the string."; return param; }); Console.WriteLine (anonDel( "Start of string" ) ); } }}
剛好學了委託,我來回答下O(∩_∩)O哈哈~
CODE1 和CODE3應該都是匿名委託,CODE2是標準委託形式。 CODE1和CODE3隻是寫法上的問題。