想象一下 Func Func<Arguments, bool?>
,它Arguments
是一个抽象类。在某个地方,出于某种原因,我创建了一个这些函数的列表,其中包含所有类型的派生类作为参数。当然,在调用Arguments
之前的类型对于验证很重要。Func
有没有办法获得类型Arguments
?
例如:
public bool? test(Arguments arg) {
Func test = Func<SomeArguments, bool?>;
Type argType = GetFirstArgumentType(test); // gives SomeArguments.GetType();
if (arg.GetType() == argType) {
return test(new SomeArguments());
}
return null;
}