我有以下代码:泛型和动作代表
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