使用.NET Reflection检索程序集中的非原型类型

时间:2011-03-11 07:44:29

标签: .net vb.net reflection

是否有任何类或特定方法可以在程序集中获取非基本类型? FieldInfo.Gettype()将用于原始类型但是非原始类型呢?

3 个答案:

答案 0 :(得分:3)

一点也不清楚你的意思 - 而“FieldInfo.GetType适用于原始类型”是一个奇怪的起点,就像你在GetType()引用上调用FieldInfo一样,你总是会获取从FieldInfo派生的类型...而如果您使用FieldInfo.FieldType,则会访问该字段的类型。

但是,是的,您绝对可以获得装配中的类型,例如使用Assembly.GetType(string)获取一种特定类型,或Assembly.GetTypes()获取所有类型。

如果您可以告诉我们更多有关您要实现的目标的信息,并向我们提供一个代码示例,其中显示了您拥有的信息以及您想要获得的信息,这将有助于我们为您提供更多帮助。

答案 1 :(得分:0)

我不确定你的问题究竟是什么,但我猜你正在寻找typeof(Type)

答案 2 :(得分:0)

AssemblyInstance.GetTypes().Where(x => !x.IsPrimitive)

如果您要查找类型中的NonPrimitive字段:

TypeInstance.GetFields().Where(x => !x.FieldType.IsPrimitive)