【发布时间】:2018-05-25 19:00:33
【问题描述】:
我正在尝试从类类型中获取泛型类的类型参数名称 (ClassName<TypeParameterName>)。
例如这样的:
class MyClass<Type1>
{
public Type data;
}
static void Main()
{
Console.WriteLine(typeof(MyClass<int>).GetTypeParameterName());
//prints: Type1
}
我进行了很多搜索,但没有找到有关如何执行此操作的任何信息。
我唯一想到的是使用StreamReader 并阅读整个 .cs 文件并在文本中找到类型。但是有没有更快/更清洁的方法来做到这一点?
注意:我不是要获取 Type1 的类型,而是要获取字符串“Type1”。
【问题讨论】:
-
你为什么要这样做?这只是一种占位符名称,你不能用这个名字做很多事情。
-
你不是在代码中写的吗,那它已经打印出
"Type1"。那么你想要什么呢?"int"? -
@SeM 我们在我的学校学习 c#,我的学校有很多关于你应该如何写课程的规则,如果你不这样写,他们就不会'不要读它。而且我正在尝试创建一个获取类类型并返回您需要更改的类的方法(如果您违反了其中一个规则)。抱歉英语不好
-
@TᴏᴍᴇʀWᴏʟʙᴇʀɢ 他们应该给你一个 A 只是为了实现该解决方案。没有多少学生能够使用反射和元编程来实现规则检查器:-)