C# 委托(delegate) 的小例子

时间:2021-07-12 13:27:44

代码如下:

复制代码 代码如下:


static void Main(string[] args)
        {
           Console.WriteLine(Exec(GetSet));
           Console.ReadKey();
        }
        //定义委托,用于将方法做为参数传给Exec.
        public delegate string GetResultDelegate();
        public static string Get()
        {
            return "get";
        }

 

        public static string GetTest()
        {
            return "gettest";
        }

        public static string GetSet()
        {
            return "getSet";
        }


        public static string Exec(GetResultDelegate getResult)
        {
            return getResult();
 }


利用委托,可以把一个方法做为另一个方法的参数,直接执行参数就OK了。和javascript的函数有点相似,javascript里面的函数也可以做为另一个函数的参数。javascript中直接可以用函数名做参数,而c#中必须通过委托,转个弯,实现同样的功能!