C# 如何使用反射获取对象的属性?
我知道我能做到C# 如何使用反射获取对象的属性?,c#,reflection,C#,Reflection,我知道我能做到 foreach (PropertyInfo property in myobject.GetType().GetProperties()) { if (property.DeclaringType.ToString() == myobject.GetType().ToString()) { // only have my object properties here // and not parent of my object
foreach (PropertyInfo property in myobject.GetType().GetProperties())
{
if (property.DeclaringType.ToString() == myobject.GetType().ToString())
{
// only have my object properties here
// and not parent of my object properties
}
}
但是,我怎样才能仅仅获得myobject的属性,而不是父对象的属性呢?
我不必做那个额外的if语句
编辑答案,(谢谢@Greg Beech)
这起到了作用:-
foreach (PropertyInfo property in
myobject.GetType().GetProperties
(BindingFlags.Public |
BindingFlags.DeclaredOnly |
BindingFlags.Instance))
{
// only properties of my object not parent of myobject
}
我也找到了这个链接
签出
BindingFlags.DeclaredOnly
并将其传递给GetProperties
(您可能希望将其与BindingFlags.Public
和BindingFlags.Instance
结合使用)