static void Main(string[] args)
{
Console.WriteLine(Exec(GetSet));//传个方法名(GetSet)参数 给 Exec方法
Console.ReadKey();
}
public delegate string GetResultDelegate(); //定义委托,用于将方法做为参数传给Exec.
public static string Get()
{
return "get";
}
public static string GetTest()
{
return "gettest";
}
public static string GetSet()
{
return "getSet";
}
public static string Exec(GetResultDelegate getResult) //Exec方法,得到委托的 方法名 参数
{
return getResult(); //委托的实现
}
利用委托,可以把一个方法做为另一个方法的参数,直接执行参数就OK了。和javascript的函数有点相似,javascript里面的函数也可以做为另一个函数的参数。javascript中直接可以用函数名做参数,而c#中必须通过委托,转个弯,实现同样的功能!
|