本文介绍了.NET Framework:从TypeInfo获取类型的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

新的反射API引入了 TypeInfo 类:

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

我可以获得 Type的 TypeInfo 实例(例如,一辆汽车),通过写

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

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

现在,如果我只有 TypeInfo 实例,如何获取其引用的 Type ?我可以只写

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

或者这将返回类型等于 typeof(TypeInfo)

推荐答案

如果调用 typeInfo.GetType(),您的确会得到 typeInfo 所引用的objec的执行时类型-因此有些具体从 TypeInfo 派生的类型。

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.

您要 TypeInfo.AsType()

所以您的代码将是:

Type type = typeInfo.AsType();

或者,正如评论中提到的那样,我从没注意到: TypeInfo 源自 Type !因此,只需使用:

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

Type type = typeInfo;

这篇关于.NET Framework:从TypeInfo获取类型的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-22 02:34