以编程方式获取所有内置类型的列表

时间:2019-11-23 08:50:50

标签: c# .net types built-in

我从Built-in types table (C# Reference)获得了所有内置类型。 有没有办法以编程方式获取此列表? 我不知道如何使用反射,所以我什至不知道如何开始。我还没有代码。

1 个答案:

答案 0 :(得分:2)

  

使用反射来获取这些类型不是一个好主意。   仅出于学习目的,请使用以下代码段。

获取框架基本类型全名:

var frameworkTypesFullName = typeof(Type).Assembly.GetTypes()
    .Where(x => x.IsPrimitive).Select(x => x.FullName).ToList();

获取基本类型的C#别名:

var cs = new CSharpCodeProvider(); //dispose later or put in using statement
var csharpTypesAlias = typeof(Type).Assembly.GetTypes()
    .Where(x => x.IsPrimitive).Select(x =>
        cs.GetTypeOutput(new CodeTypeReference(x))).ToList();

还有System.StringSystem.Object不是原始的,但在C#中通常以 Simple Types 的形式命名,别名为stringobject