【发布时间】:2020-03-19 05:15:57
【问题描述】:
我从Built-in types table (C# Reference) 获得了所有内置类型。 有没有办法以编程方式获取此列表? 我不知道如何使用反射,所以我什至不知道如何开始。我还没有代码。
【问题讨论】:
-
为什么不直接硬编码呢?它不会在运行时改变......
-
只是好奇:你为什么需要它?类型是内置的还是框架的一部分通常与应用程序无关。
-
@PMF 正如我之前所说,我不知道如何使用反射。我只是好奇这是否可能。语句:_listElementType = GetListType(_list);字符串名称 = _listElementType.Name; _isSystemType = name.GetType().Namespace == "系统"; // 这将返回 System(包含该类型的命名空间)如果它是 System 类型(内置类型)会告诉我它是否是系统类型。
-
@user2102327:这是一个非常模糊的测试。系统命名空间中有一些类型通常不被认为是内置的(即所有异常类型,
Console或Environment类)。事实上,没有什么能阻止您自己在该命名空间中创建新类型(尽管这不是一个好主意)。 -
@PMF 你能推荐一个更好的方法吗?