C# EventHandler委託事件小結
阿新 • • 發佈:2019-01-30
最近遇到一個委託的問題,+=這個符號,哇,真的是頭皮發麻,以為是運算子,根本不知道是委託 -。-!!
看下圖:
後面查了以後原來這種用法真的很普遍,我真是小白~~
資料中對C#委託的小清新解釋:
this.Activated += new EventHandler(Form1_Activated);
//Form1_Activated為方法名
這個語句拆開為:
this.Activated=先執行;
Form1_Activated=後執行;
簡單說就是把兩個事件合在一起執行。
有一個例子很形象,扒過來看下(神鬼勿近)。
//小張類
public class MrZhang
{
public static void Aab()
{
Console.WriteLine("AAB");
}
public static void Pi()
{
Console.WriteLine("3ZZ");
}
}
//小明類
class MrMing
{
//宣告一個委託,其實就是個“命令”
public delegate void AabEventHandler();
public static void Main(string[] args)
{
//這裡就是具體闡述這個命令是幹什麼的
AabEventHandler myDelegate
= new AabEventHandler(MrZhang.Aab);
myDelegate += MrZhang.Pi;
//這時候委託被附上了具體的方法
myDelegate();
Console.ReadKey();
}
}
結果就是先輸出Aab再後面輸出3zZ了。
百度冠名~