Используя отражение, как я могу обнаружить свойства, которые имеют сеттеры? - PullRequest
40 голосов
/ 02 августа 2010

У меня есть этот код для циклического прохождения объекта и получения всех его свойств с помощью отражения:

foreach (var propertyInfo in typeof(TBase).GetProperties(BindingFlags.Public | BindingFlags.Instance))
{
    var oldValue = propertyInfo.GetValue(oldVersion, null);
}

Как я могу выполнить проверку, чтобы посмотреть только те свойства, которые имеют "Set" на них?(Я хочу игнорировать значения только для чтения - просто «Получить».)

Ответы [ 2 ]

101 голосов
/ 02 августа 2010

PropertyInfo.CanWrite ( документация )

или

PropertyInfo.GetSetMethod ( документация )

15 голосов
/ 02 августа 2010
propertyInfo.GetSetMethod() != null
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...