zoukankan      html  css  js  c++  java
  • C# 委托(delegate) 的小应用

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

  • 相关阅读:
    第一章epoll
    sk_buff结构--转载
    邻居子系统1.5 neigh output
    netfilter内核态与用户态 通信 之 sockopt
    邻居子系统1.4
    邻居子系统 1.3
    邻居子系统 1.2
    邻居子系统 1.1
    linux 内核 tasklets 原理以及工作队列
    linux 内核 同步原理
  • 原文地址:https://www.cnblogs.com/zhangwei412827/p/2943054.html
Copyright © 2011-2022 走看看