读书人

这种情况上是不是用委托呢

发布时间: 2012-09-13 09:51:53 作者: rapoo

这种情况下是不是用委托呢?
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)
{
...
}

读书人网 >C#

热点推荐