Search code examples
c#.nettypesbuilt-in

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.


Solution

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