我有一個包含指向另一個類的委託變量的方法。 我想通過這個委託來調用該類中的方法,但將該方法的名稱作爲字符串傳遞給包含委託的方法。如何將方法名稱傳遞給另一個方法並通過委託變量調用它?
這怎麼辦?使用反射? 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