委託適配


例子如下:

class A

    {
        public void Fun_A(int a)
        {
            Console.WriteLine("Fun_A");
        }
        public void Fun_A1()
        {
            Fun_A(0);
        }

    }


   class B
    {
        public void Fun_B()
        {
            Console.WriteLine("Fun_B");
        }
    }

   class S
    {
        public delegate void S_weituo();
        public S_weituo weituo1;
    }


static void Main(string[] args)
        {
            A a1=new A();
            B b1=new B();
            S s1 = new S();
            //Fun_A1是爲了適配委託而出來的。
            s1.weituo1 += a1.Fun_A1;

        //等號前的一對括號,是定義的無參適配函數的參數,目前是空。返回值是根據被適配的函數來的。
            s1.weituo1 += (() => { a1.Fun_A(0); });//此語句的功能和上面相同,不過,這種方法不用手動定義適配函數,系統自動生成

            s1.weituo1 += b1.Fun_B;
            s1.weituo1();
        }

 A a1=new A();
            B b1=new B();
            S s1 = new S();
            //Fun_A1是爲了適配委託而出來的。
            //s1.weituo1 += a1.Fun_A1;
            //等號前的一對括號,是定義的無參適配函數的參數,目前是空。返回值是根據被適配的函數來的。
            s1.weituo1 += (() => { a1.Fun_A(0); });
            s1.weituo1 += b1.Fun_B;
            s1.weituo1();


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章