【发布时间】:2017-04-10 17:55:28
【问题描述】:
如果像这样调用,Reflection 看起来会返回属性的支持字段:
type.GetFields(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic)
有没有办法在没有任何支持字段/编译器生成的字段/等的情况下返回用户在类中声明的所有字段?
编辑:依赖[CompilerGenerated] 属性是否安全?
【问题讨论】:
-
安全不是二元的。 “是否安全”的问题应该是“是否足够安全”,这反过来又会引发反问“对于什么来说足够安全?”考虑到可以在运行时动态创建类型,其中包含与编译时定义类型中的字段无法区分的字段。还要考虑在运行时创建此类类型的公共库,并且您的问题中没有关于您是否正在使用它们的信息。
标签: c# .net c#-6.0 .net-4.6 .net-4.6.2