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

问题描述

新的反射 API 引入了 TypeInfo 类:
https://docs.microsoft.com/en-us/dotnet/api/system.reflection.typeinfo

The new reflection API introduces the TypeInfo class:
https://docs.microsoft.com/en-us/dotnet/api/system.reflection.typeinfo

我可以通过编写

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

现在,如果我只有一个 TypeInfo 实例怎么办?我如何获得它所指的 Type ?我可以写吗

Now, what if I just have a TypeInfo instance? How do I get the Type it's referring to? Can I just write

Type type = typeInfo.GetType();

或者这会返回一个等于 typeof(TypeInfo)type 吗?

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

推荐答案

如果你调用typeInfo.GetType(),你确实会得到typeInfo对象的执行时间类型 指的是 - 所以一些从 TypeInfo 派生的具体类型.

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

您需要 TypeInfo.AsType():

将当前类型作为 Type 对象返回.

所以你的代码是:

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 获取类型的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-11 17:23