Как я могу получить свойства объекта с помощью отражения? - PullRequest
2 голосов
/ 29 октября 2008

Я знаю, что могу сделать это

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
}

Я тоже нашел эту ссылку http://msdn.microsoft.com/en-us/library/4ek9c21e.aspx

1 Ответ

3 голосов
/ 29 октября 2008

Извлеките BindingFlags.DeclaredOnly и передайте это GetProperties (вы, вероятно, захотите объединить его с BindingFlags.Public и BindingFlags.Instance как минимум).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...