【问题标题】:How to find if a generic type is List<>如何查找泛型类型是否为 List<>
【发布时间】:2012-04-04 01:16:04
【问题描述】:

我有一个通用方法定义如下

public T MyMethod<T>(extra params)

我的方法可以接收和返回单个实体类型,也可以接收和返回列表。 如何判断传递的 T 是单个实体类型还是 List,在这种情况下如何获取内部类型 T1 的类型?

谢谢

【问题讨论】:

    标签: generics c#-4.0 generic-list


    【解决方案1】:

    您可以使用Type 类的方法来做到这一点:

    var type = typeof(T);
    if (type.IsGenericType && type.GetGenericTypeDefinition() == typeof(List<>)) {
        var innerType = type.GetGenericArguments()[0];
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-06-11
      • 2019-06-25
      • 2014-12-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-21
      相关资源
      最近更新 更多