【发布时间】:2009-10-09 17:04:11
【问题描述】:
如果我使用
sometype.GetProperties();
我从类型中获取所有属性,它是父类型。但是我只想检索在这种类型中明确定义的属性(而不是父母)。我认为这就是 BindingFlags.DeclaredOnly 选项的用途。
但是,当我尝试这个时:
sometype.GetProperties(BindingFlags.DeclaredOnly);
我得到 0 个属性。
有人知道我做错了什么吗?
【问题讨论】:
-
To all who come from google:如果您在设置标志后仍然无法获得“属性”,如果您是 c# 新手并且不知道Properties和Fields之间的区别,尝试使用GetFields()。您可能一直在寻找fields! -
@user1306322:为了记录,我“来自谷歌”,我的代码是:
var types = type.GetFields.Select(f => f.FieldType).Union(type.GetProperties.Select(p => p.PropertyType));- 结果仍然是 0。
标签: c# .net reflection