简体   繁体   中英

Programmatically get list of all Built-in types

I got all the built-in types from the Built-in types table (C# Reference) . Is there a way to programmatically get this list? I do not know how to use reflection, so I have no idea how to even start. I have got no code yet.

It's not a good idea to get those types using reflection. Just for learning purpose you use the following snippets.

Get framework primitive types full names:

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

Get C# alias names for primitive types:

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();

There are also System.String and System.Object which are not primitive but usually names as Simple Types with string and object alias in C#.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM