.NET Framework: Get Type from TypeInfo

The new reflection API introduces the TypeInfo class: https://msdn.microsoft.com/en-us/library/system.reflection.typeinfo(v=vs.110).aspx

I can get a TypeInfo instance of a Type (say, a Car) by writing

TypeInfo typeInfo = typeof(Car).GetTypeInfo();

Now, what if I just have a TypeInfo instance, how do I get the Type its refering to? Can I just write

Type type = typeInfo.GetType();

Or will this return a type that is equal to typeof(TypeInfo)?

Jon Skeet

If you call typeInfo.GetType(), you will indeed get the execution-time type of the objec that typeInfo refers to - so some concrete type derived from TypeInfo.

You want TypeInfo.AsType():

Returns the current type as a Type object.

So your code would be:

Type type = typeInfo.AsType();

Or, as noted in comments, something I'd never noticed: TypeInfo derives from Type! So just use:

Type type = typeInfo;


See more on this question at Stackoverflow