首页 > 解决方案 > C#从执行的泛型方法中获取泛型类型参数而不直接引用它们,即typeof(T0)

问题描述

是否可以从执行的泛型方法中获取泛型类型参数而不直接引用它们(即 typeof(T0))?例如:

public static List<(T0?, T1?, T2?, T3?, T4?)> ParseParameter<T0, T1, T2, T3, T4>(this JArray array, params string[] columnCodesCaseIndependent)
{
    var genericArgs = MethodBase.GetCurrentMethod()!.GetGenericArguments();
    
    // ...

    return result;
}

在调试器中测试上述内容我看到:

  1. {Name="T0", FullName=null}
  2. 其余同上

所以这些类型不是实际使用的类型。net5.0

标签: c#generics

解决方案


推荐阅读