6
考虑:如何将动作<in T>与派生类作为Action参数传递?
class BaseClass {}
class DerivedClass : BaseClass {}
我想写可以接受一个BaseClass的参数的操作功能。该函数将创建指定类型的对象并将其传递给Action。
void MyFunction(Type type, Action<BaseClass> DoAction)
{
BaseClass obj = (BaseClass)Activator.CreateInstance(type);
DoAction(obj);
}
我想在AnotherFunction其参数传递是一个DerivedClass:
void AnotherFunction(DerivedClass x)
{
}
我应该如何调用MyFunction的?以下是无效的,由于该AnotherFunction说法:
MyFunction(typeof(DerivedClass), AnotherFunction);
+1你击败了我的编辑。 – 2013-05-03 19:36:26
我认为MyFunction(AnotherFunction)不会显式指定泛型参数类型。 – jure 2013-05-03 19:44:22
@jure你是对的,它不能推断出类型。 – Servy 2013-05-03 19:46:25