Tag: CSharp/デリゲート
delegate int SimpleDelegete(string message)
delegate void SpeakDelegate(string message); private void Speak(string message) { Debug.WriteLine(message); } private void StarSpeak(string message) { Debug.WriteLine("★" + message); } private void simple_Clicked(object sender, RoutedEventArgs e) { //古式ゆかしい書き方 SpeakDelegate s = new SpeakDelegate(Speak); s("Hello World"); //C#2.0からはメソッドからdelegateへ暗黙の変換がなされる。 SpeakDelegate s2 = Speak; s2("Hello World2"); //マルチキャストデリゲートと呼ばれる(SpeakとStartSpeakが順番に呼ばれる) SpeakDelegate s3 = Speak; s3 += StarSpeak; s3("Hello World3"); }
Hello World Hello World2 Hello World3 ★Hello World3