user2102327
user2102327

Reputation: 109

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.

Upvotes: 4

Views: 1687

Answers (1)

Reza Aghaei
Reza Aghaei

Reputation: 125197

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#.

Upvotes: 8

Related Questions