使用泛型类型约束调用static(async)方法,类型名称(字符串)

时间:2015-09-09 01:28:34

标签: c# generics static-methods

我需要调用一个静态方法(一个辅助类),它有一个泛型类型约束,如下所示:

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。基本上,调用异步方法会返回您希望返回的内容,通常是TaskTask<>。现在出血明显,LOL

然后,我得到了Parameter mismatch count。事实证明我必须提供所有参数,并为可选参数指定Type.Missing,我希望该方法使用默认值。

0 个答案:

没有答案