Esempio n. 1
0
        // 2. 通过匿名函数调用
        static void CallByAnonymousMethode()
        {
            VoteDelegate vote = delegate(string nickname)
            {
                Console.WriteLine($"昵称为:{nickname}:这是通过匿名函数调用的");
                Console.WriteLine();
            };

            vote.Invoke("小夏");
        }
        static void Main(string[] args)
        {
            // 使用匿名方法来实例化委托对象
            VoteDelegate votedelegate = delegate(string nickname)
            {
                Console.WriteLine("昵称为:{0} 来帮Learning Hard投票了", nickname);
            };

            // 通过调用托来回调Vote()方法,此为隐式调用方式
            votedelegate("SomeBody");
            Console.Read();
        }
Esempio n. 3
0
        public void T12D4()
        {
            VoteDelegate votedelegate = new VoteDelegate(new Friend().Vote);

            votedelegate("SomeBody");

            VoteDelegate votedelegate2 = delegate(string nickname)
            {
                Console.WriteLine($"昵称为:{nickname}也来投票了");
            };

            votedelegate2("EveryOne");
            Console.ReadKey();
        }
        private static void CTest1()
        {
            //创建委托对象
            VoteDelegate vd1 = new VoteDelegate(delegate(string n)
            {
                Console.WriteLine($"{n} 投票给fwq");
            });
            VoteDelegate vd2 = delegate(string nn)
            {
                Console.WriteLine($"{nn} 投票给fff");
            };

            vd1("qqqq");
            vd2("aaa");
            Console.WriteLine("-----------------");
        }
Esempio n. 5
0
        public static void ExecPig()
        {
            VoteDelegate vdl;

            vdl = new VoteDelegate(Three.Pig);
            vdl("八戒");
            Console.ReadKey();


            //匿名方法的使用,换句话说就是将原来要写的方法直接写在一起
            VoteDelegate vdl2 = delegate(string tickname)
            {
                Console.WriteLine("{0}不是猪.", tickname);
            };

            vdl2("天蓬元帅");
            Console.ReadKey();
        }
Esempio n. 6
0
        static void Main(string[] args)
        {
            //使用Vote方法来实例化委托对象
            //VoteDelegate votedelegate = new VoteDelegate(new Friend().Vote);
            //隐式实例化委托方式 将方法直接赋
            //VoteDelegate voteDelegate = new Friend().Vote;

            //使用匿名方法来实例化委托对象
            //使用匿名方法 不再需要单独定义一个Vote方法
            //匿名方法缺点 不能再其他地方被调用 不具有复用性

            //匿名方法自动形成闭包 当一个函数对另一个函数的调用时,或当内部函数使用了外部函数的变量时,都会形成闭包
            VoteDelegate votedelegate = delegate(string nickname)
            {
                Console.WriteLine("昵称为: {0}", nickname);
            };

            //通过调用委托来回调Vote()方法 这是隐私调用方式
            votedelegate("SomeBody");
            Console.Read();
        }
Esempio n. 7
0
        // 1. 通过委托调用
        static void CallByDelegate()
        {
            VoteDelegate vote = new VoteDelegate(new Friend().Vote);

            vote.Invoke("小咪");
        }