在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
看完 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#中必须通过委托,转个弯,实现同样的功能! |
请发表评论