以前にも書いた気がするけどcのポインターのポインターみたいで頭が混乱する。delegateに意味は分かった気は・・・する。
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Diagnostics; using System.Threading; namespace delege03 { public class Test1 { //Test2を作成しMethodを実行する public void Method() { Test2 test2 = new Test2(); Action delagateMethod = delegateMethod1; delagateMethod += delegateMethod2; delagateMethod += delagateMethod3; test2.Method(delagateMethod); } //Test2の処理が終わったら呼ばれる Action delegateMethod1 =() => Console.WriteLine("1:処理終わったよー"); Action delegateMethod2 =() => Console.WriteLine("2:処理終わったよー"); Action delagateMethod3 =() => Console.WriteLine("3:最後だよ~"); } public class Test2 { //引数及び返り値のないデリゲート //public delegate void Delegate(); //何らかの処理をした後、入力されたデリゲートを実行する public void Method(Action delegateMethod) { /*処理*/ Thread.Sleep(2000); delegateMethod(); } } class Program { static void Main(string[] args) { Test1 ts1 = new Test1(); //-- ここでインスタンスを生成 Console.WriteLine("開始"); ts1.Method();//-- ここでtest2を delegate してメソッドをコールバックする Console.WriteLine("$>"); Console.ReadKey(); } } }No tags for this post.