日期:2014-05-18  浏览次数:20762 次

这种情况下是不是用委托呢?
private delegate void WT(string s);
 
 private void aa(具体方法)
{
  。。。。//这里的函数都一样 最后调用一个方法要看情况来选择  
  WT wt = new WT(具体方法);//看情况调用 具体方法
}

我要根据后面的情况调用方法,而事先不知道调用哪个方法
所以把方法当做参数传递,具体该如何做呢 ?是不是用委托?

------解决方案--------------------
是的。不过你写的不对。
传递什么委托方法应该是调用者来决定的。
应该这么写:

delegate void WT(string s);

void foo(WT wt)
{
common operate
wt(s);
}

调用
foo(new WT(MyMethod));

...

void MyMethod(string s)
{
...
}