猿问

c#获取泛型类中泛型类型参数的名称

我正在尝试ClassName<TypeParameterName>从类类型中获取基因类的类型参数名称 ( )。


例如这样的事情:


class MyClass<Type1>

{

    public Type data;

}

static void Main()

{

    Console.WriteLine(typeof(MyClass<int>).GetTypeParameterName());

    //prints: Type1

}

我搜索了很多,但没有找到有关如何执行此操作的任何信息。我唯一想到的是使用StreamReader并阅读整个 .cs 文件并在文本中找到类型。但是有没有更快/更干净的方法来做到这一点?


注意:我不是要获取 Type1 的类型,而是要获取字符串“Type1”。


繁花不似锦
浏览 584回答 3
3回答

LEATH

在您的示例中,您已经将泛型类型参数设置为int,因此您将无法获得Type1.试试这个:class MyClass<Type1>{&nbsp; &nbsp; public Type data;}static void Main(){&nbsp; &nbsp; Console.WriteLine(typeof(MyClass<>).GetGenericArguments()[0].Name);&nbsp; &nbsp; //prints: Type1}
随时随地看视频慕课网APP
我要回答