zoukankan      html  css  js  c++  java
  • C#委托类型-(基本使用方法)

    委托是一个类,它定义了方法的类型,使得可以将方法当作另一个方法的参数来进行传递。

    这种将方法动态地赋给参数的做法,可以避免在程序中大量使用If-Else(Switch)语句,同时使得程序具有更好的可扩展性。

    通常我们会使用  delegate关键字定义委托 如下:

    public delegate int Method(object arg);

    然后 定义一个 函数  definedMethod (参数类型数量和返回值类型 与 定义的委托一致)
    public static int definedMethod(object are)
    {
    	//Do Something
            return 0;
    }

    此时,我们可以把定义的Method看作一个类, definedMethod 函数 看作 Method类 的实例对象
    定义一个需要这个类型函数作为形参的 函数

    private static void UseDelegate(Method method ,object other)
    {
    	method(other);
    }

    public static void main(string arg){
    	UseDelegate(definedMethod, arg)
    }

    这就完成了 委托的实现


    当然若需要传递的 方法实例 ,不需要复用的话,也可以通过 定义匿名方法直接传递

    public static main(string arg){
    	UseDelegate(delegate(object obj){ 
                   //Do Something
                   return 0;
            }, arg)
    }


    完整代码:

        public class Test
        {
            //delegate关键字定义委托 
            public delegate int Method(object arg);
    
            //定义一个 函数  definedMethod (参数类型数量和返回值类型 与 定义的委托一致)
            public static int definedMethod(object arg)
            {
                //Do Something
                return 0;
            }
    
            //定义一个需要这个类型函数作为形参的 函数
            private static void UseDelegate(Method method, object other)
            {
                method(other);
            }
    
            public static void Main(string arg){
    
                //这就完成了 委托的实现
                UseDelegate(definedMethod, arg);
    
                //当然若需要传递的 方法实例 ,不需要复用的话,也可以通过 定义匿名方法直接传递
                UseDelegate(delegate(object objarg){
                    //Do Something
                    return 0;
                }, arg);
            }
        }



  • 相关阅读:
    10)添加路径并显示
    ueditor使用-图片上传正常,图片显示异常404
    连接mysql出错
    曾经踩过的坑--浏览器兼容-history
    css样式继承(转)
    超链接中文字超长使用省略号代替
    bootstrap-datetimepicker出现时间选择时年份显示1899年的异常
    angularJS:ng-repeat作用域及父作用域调用$parent
    $parse:表达式转换
    angularJS factory中包含xhr时,通过promise获取结果
  • 原文地址:https://www.cnblogs.com/wycm/p/5338912.html
Copyright © 2011-2022 走看看