C# 委托(delegate) 的小应用

[来源] 达内    [编辑] 达内   [时间]2013-03-08

C# 委托(delegate) 的小应用

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

资源下载