• c#委托把方法当成参数


     //定义委托,它定义了可以代表的方法的类型
            public delegate void GreetingDelegate(string name);
    
            /// <summary>
            /// 用英文打招呼
            /// </summary>
            /// <param name="name"></param>
    
            private void EnglishGreeting(string name)
            {
                Console.WriteLine("Morning, " + name);
            }
    
            /// <summary>
            /// 用中文打招呼
            /// </summary>
            /// <param name="name"></param>
    
            private void ChineseGreeting(string name)
            {
                Console.WriteLine("早上好, " + name);
            }
    
            //注意此方法,它接受一个GreetingDelegate类型的方法作为参数
            /// <summary>
            /// 委托(代理的方法)
            /// </summary>
            /// <param name="name"></param>
            /// <param name="markGreeting"></param>
    
            private void GreetPeople(string name, GreetingDelegate MakeGreeting)
            {
                MakeGreeting(name);
            }
    
            private void Form1_Load(object sender, EventArgs e)
            {
                //Delegate方式一:
                //GreetPeople("Jimmy Zhang", EnglishGreeting);
                //GreetPeople("张子阳", ChineseGreeting);
                //Console.ReadKey();
    
                //Action方式二:
                GreetPeopleAction("Jimmy Zhang", (s) =>
                {
                    Console.WriteLine("Morning, " + s);
                });
    
                GreetPeopleAction("张子阳", (s) =>
                {
                    Console.WriteLine("早少好, " + s);
                });
    
                Console.ReadKey();
            }
    
            /// <summary>
            /// Action委托作为参数
            /// </summary>
            /// <param name="name"></param>
            /// <param name="action"></param>
            public void GreetPeopleAction(string name, Action<string> action)
            {
                action(name);
            }
  • 相关阅读:
    基础表达式和运算符
    原型链(_proto_) 与原型(prototype) 有啥关系?
    插件模板
    加减plugin
    原生选项卡、手风琴
    前端基础问题(有答案)
    结构图
    Java环境配置小记
    函数
    砝码称重
  • 原文地址:https://www.cnblogs.com/51net/p/4191909.html
Copyright © 2020-2023  润新知