如何获得IEnumerable类型的类型

时间:2018-06-18 21:51:42

标签: c# .net

我有工厂方法,在给定密钥的情况下返回POCO的Type

    public static Type GetType(string key)
    {
        var name = string.format("MyPOCOClass{0},MyAssembly",key);
        return Type.GetType(name);
    }

因此,假设Key的值为One,并假设MyAssembly中存在类MyPOCOClassOne

在上面的例子中,我想要IEnumerable<MyPOCOClassOne>的类型 我该怎么做?

1 个答案:

答案 0 :(得分:1)

您想利用Type.MakeGenericTypeMSDN)。在你的情况下:

Type enumerable = typeof(IEnumerable<>); //Unresolved generic!
Type yourType = GetType(someKey); //OP Method

return enumerable.MakeGenericType(yourType);