zoukankan      html  css  js  c++  java
  • 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);
            }
  • 相关阅读:
    Accoridion折叠面板
    mui列表系列
    按照中文首字母排序查询表数据
    五分位算法
    springmvc添加拦截器
    springmvc添加定时任务
    通过后台解决跨域调用接口问题
    eclipse搭建ssm框架
    Java 将图片转成base64,传到前台展示
    用mysql存储过程代替递归查询
  • 原文地址:https://www.cnblogs.com/51net/p/4191909.html
Copyright © 2011-2022 走看看