【发布时间】:2021-02-22 18:46:15
【问题描述】:
我有一个 c# 方法,它接收一个通用的 Delegate 作为参数,调用后检查结果的类型:
public async Task<TResult> InvokeAction<TResult>(Delegate action, object[] actionArgs = null)
{
...
var result = action.DynamicInvoke(actionArgs);
if (result is Task<TResult> task) return await task;
}
如果委托参数的返回类型确实是TResult,有没有一种方法可以提前检查,而无需先调用它?这个不用改参数Func<TResult>
【问题讨论】:
标签: c# reflection delegates