现在的位置: 首页 > 综合 > 正文

C# 委托(delegate) 的小应用

2013年05月06日 ⁄ 综合 ⁄ 共 796字 ⁄ 字号 评论关闭

看完 http://www.cnblogs.com/insus/archive/2013/03/04/2942653.html,想到利用委托(delegate)好像也能解决这种避免大量switch case的代码。代码如下:

  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#中必须通过委托,转个弯,实现同样的功能!

抱歉!评论已关闭.