我有一个包含指向另一个类的委托变量的方法。 我想通过这个委托来调用该类中的方法,但将该方法的名称作为字符串传递给包含委托的方法。如何将方法名称传递给另一个方法并通过委托变量调用它?
这怎么办?使用反射? Func<T>
?
编辑:
我现在明白反射可能不是最好的解决方案。
这是我有:
private static void MethodContainingDelegate(string methodNameInOtherClassAsString)
{
_listOfSub.ForEach(delegate(Callback callback)
{
//Here the first works, but I want the method to be general and
// therefore pass the method name as a string, not specfify it.
callback.MethodNameInOtherClass();
//This below is what I am trying to get to work.
callback.MethodNameInOtherClassAsString();
}
});
}
所以,基本上,我正在寻找一种方法,使我的回调委托“认识到”我的methodNameInOtherClassAsString实际上是在其他类来执行的方法。
谢谢!
你可以添加一些伪代码吗?我不明白你在问什么! – Nick 2011-05-20 08:58:56
你可以发布一些你的代码吗? – aL3891 2011-05-20 08:59:30
你有什么样的参考?它是一个委托引用,一个包含方法名称的字符串......? – BoltClock 2011-05-20 09:00:01