Пример #1
0
    public void Main()
    {
        //这里就是具体阐述这个命令是干什么的,本例是MrZhang.BuyTicket“小张买车票”
        BugTicketEventHandler myDelegate = new BugTicketEventHandler(MrZhang.BuyTicket);

        myDelegate += MrZhang.BuyMovieTicket;
        //这时候委托被附上了具体的方法
        myDelegate();
    }
Пример #2
0
            public static void Main(string[] args)
            {
                // 这里就是具体阐述这个命令是干什么的,本例是MrZhang.BuyTicket“小张买车票”
                BugTicketEventHandler myDelegate = new BugTicketEventHandler(MrZhang.BuyTicket);

                myDelegate += MrZhang.BuyMovieTicket;
                // 这时候委托被附上了具体的方法
                myDelegate();
                Console.ReadKey();
            }
Пример #3
0
    public static void Main(string[] args)
    {
        // 这里就是具体阐述这个命令是干什么的,本例是MrZhang.BuyTicket“小张买车票”
        BugTicketEventHandler myDelegate = new BugTicketEventHandler(MrZhang.BuyTicket);

        //用事件连接 ,一个被触发后另一个也随之运行
        myDelegate += MrMing.response;
        //myDelegate += MrZhang.BuyTicket;
        // 这时候委托被附上了具体的方法
        myDelegate();
        Console.ReadKey();
    }
Пример #4
0
        //上面是委托的声明方法
        //static SumDelegate sumd = new SumDelegate(Test.Sum);//也可以放在这,也可以放在下面
        static void Main(string[] args)
        {
            //这里就是具体阐述这个命令是干什么的,本例是MrZhang.BuyTicket“小张买车票”这时候委托被附上了具体的方法
            //注意,声明委托可以不使用delegate关键字
            BugTicketEventHandler myDelegate = new BugTicketEventHandler(MrZhang.BuyTicket);

            //上面的语句声明一个委托并且订阅了小张买票,当使用委托时,小张买票函数就会执行
            myDelegate += MrZhang.BuyMovieTicket; //多播委托
            myDelegate();                         //使用委托,括号内可以加参数,如果委托有返回值,这可以定义一个变量存放这个委托的返回值
            Console.WriteLine();
            myDelegate -= MrZhang.BuyMovieTicket;
            myDelegate();
            Console.WriteLine();
            myDelegate += () =>
            {
                Console.WriteLine("匿名方法:3.0规范lambda表达式!突然出现一个人去买票!");//lambda表达式
            };
            myDelegate();
            Console.WriteLine();
            myDelegate += delegate()
            {
                Console.WriteLine("匿名方法:2.0版本的规范匿名方法实现!黄牛把票都买光了!");//lambda表达式
            };
            myDelegate();
            //////////以下是简版委托
            Console.WriteLine("简版委托");
            SumDelegate sumd   = new SumDelegate(Test.Sum);//也可以放在这,也可以放在上面面
            int         sumnum = sumd(5, 6);

            Console.WriteLine();
            sumd += Test.Sum;
            sumd(5, 6);
            Console.WriteLine();
            sumd += Test.Sub;
            sumd(5, 6);
            Console.WriteLine("sumnum=" + sumnum);
            Console.ReadKey();
        }