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
结合使用)