我有以下代碼:泛型和動作代表
public void generate()
{
base.generateFoo(Method); // How can i indicate the type here?
}
public void Method<T>(T t , IDictionary<T, SomeObject> coll) : where T : ISomething
{
// do something
}
class MyBase
{
public void generateFoo<T>(Action<T, IDictionary<T, SomeObject>> Method) : where T : ISomething
{
Method.invoke(ObjectThatImplementsT, DictionaryWIthTKey);
}
}
我米得到一個錯誤,如不能轉換ObjectThatImplementsT到T.
我可以通過一個通用的方法作爲參數設置爲另一種方法?
這裏有什麼問題?
謝謝。
我只是一個smidge太慢:) – KeithS 2011-03-28 19:08:09
它是一種通用的方法。抱歉。 – DarthVader 2011-03-28 19:12:05
但我得到:變量不能用作類型參數錯誤。基類內的 – DarthVader 2011-03-28 19:12:27