我需要调用一个静态方法(一个辅助类),它有一个泛型类型约束,如下所示:
public static ResultType SomeMethod<T>(string someParm)
where T : SomeBaseClass
如果我只知道T
的名字(字符串),我该如何调用此方法?
我看过this,但在我的案例中我无法弄清楚如何使用MethodBase.Invoke
。
更新
在标记为重复之后,我意识到我应该问静态方法是否是带有可选参数的async
方法。
public async static Task<ResultType> SomeMethod<T>(string someParm,
string optionalParm) where T : SomeBaseClass
然后我找到了这个答案:.NET invoke an async method。基本上,调用异步方法会返回您希望返回的内容,通常是Task
或Task<>
。现在出血明显,LOL
然后,我得到了Parameter mismatch count
。事实证明我必须提供所有参数,并为可选参数指定Type.Missing
,我希望该方法使用默认值。