コード例 #1
0
ファイル: Program.cs プロジェクト: tm731531/Delegate_EHS
        static void Main(string[] args)
        {
            MyVoidDelegate myVoidDelegate = new MyVoidDelegate(MyVoidMethod);//必須符合簽章 回傳型別void 與1個string參數

            myVoidDelegate += MyVoidMethod2;
            myVoidDelegate -= MyVoidMethod2;
            myVoidDelegate.Invoke("Mickey");
        }
コード例 #2
0
        public static void Main()
        {
            var voidDelegate = new MyVoidDelegate(PrintInteger);

            voidDelegate += SomeMethod;
            voidDelegate += PrintInteger;

            var cat = new Cat();

            voidDelegate += cat.SomeCatMethod;

            voidDelegate(100);

            Console.WriteLine(voidDelegate.Target?.GetType().Name);

            PassSomeDelegate(voidDelegate);
        }
コード例 #3
0
        static void Main(string[] args)
        {
            MyVoidDelegate myDeleg = new MyVoidDelegate(PrintInteger);

            myDeleg += SomeMethod;
            //MyVoidDelegate myDeleg2 = new MyVoidDelegate(SomeMethod);
            myDeleg(100);
            myDeleg?.Invoke(100);
            myDeleg -= SomeMethod;

            MyStringDelegateByIntegers del3 = new MyStringDelegateByIntegers(SomeOtherMethod);

            PassSomeDelegate(myDeleg);
            Console.WriteLine(del3(5, 6));

            var person = new Person();

            myDeleg += person.SomePersonMethod;
            Console.WriteLine(myDeleg.Target?.GetType().Name);
        }
コード例 #4
0
 public static void PassSomeDelegate(MyVoidDelegate del)
 {
     del?.Invoke(5);
 }