C# 如何查看类型定义是否为结构?

C# 如何查看类型定义是否为结构?,c#,.net-core,metadata,low-level,system.reflection.metadata,C#,.net Core,Metadata,Low Level,System.reflection.metadata,我想知道a是否是一个结构,我无法看到,因为TypeAttributes只会让我在结构和类之间产生歧义 这适用于扫描程序,该程序将尝试以高级方式重新创建程序集,该方式易于通过编程进行优化、修剪和合并,而无需实际加载程序集文件 我是在Dotnet Core中这样做的,目标是>=2.0应用程序。根据@Flydog57和@Marc Gravell的建议,我查看了基本类型 结果显示为System.ValueType。 感谢您的建议。类型属性在哪些方面不明确?类/结构的TypeAttributes分别是什么

我想知道a是否是一个结构,我无法看到,因为TypeAttributes只会让我在结构和类之间产生歧义

这适用于扫描程序,该程序将尝试以高级方式重新创建程序集,该方式易于通过编程进行优化、修剪和合并,而无需实际加载程序集文件


我是在Dotnet Core中这样做的,目标是>=2.0应用程序。

根据@Flydog57和@Marc Gravell的建议,我查看了基本类型

结果显示为System.ValueType。
感谢您的建议。

类型属性在哪些方面不明确?类/结构的
TypeAttributes
分别是什么?而且不可能只使用
类型
来代替吗?@MarcGravell我不想在程序集中加载,因为我将不可避免地在加载后直接卸载它,因为我只是出于反射目的使用它。TypeAttributes在结构和类之间没有给出明确的定义,因为它们都被标记为TypeAttributes.class。是否检查
BaseType
以查看是否可以将其解析为
系统。ValueType
帮助?您应该使用仅反射加载,而不是加载。您不能只使用
System.Type
?是不是
typeof(MyType).IsClass
typeof(MyType).IsValueType
不够好?我从未使用过类型定义。看起来这是您可以从程序集元数据中提取的信息(无需进一步挖掘)。我猜如果这些信息不存在,可能就不存在了别忘了枚举(基本类型是System.Enum,我相信它是从System.ValueType继承的)@Flydog57我也会将其添加到我的库中,但对于这个问题System.ValueType是我想要的。