2011-07-07 3 views
2
  1. У меня есть коллекция List, которая содержит несколько имен свойств.Как получить значение целого ряда свойств?

  2. MyViewModel - это класс, который содержит все возможные свойства, которые будут отображаться на виде.

  3. Теперь я хотел бы просмотреть коллекцию MyViewModel и получить только значения всех тех свойств, которые были определены ранее на шаге 1).

Я думаю, что я должен использовать отражение.

я мог бы получить имя свойства, как это:

public static string GetPropertyName<T>(Expression<Func<T>> expression) 
{ 
    var body = (MemberExpression) expression.Body; 
    return body.Member.Name; 
} 

Однако как я теперь использовать это дальше идти путем сбора и получить значения только для свойств я, определенных в шаге 1?

Большое спасибо.

ответ

1

Если у вас есть имя свойства, что нужно сделать (примерно - я не могу проверить его ATM)

thing.GetType().Properties(propname).GetValue(thing,null); 

, который должен вернуть вам значение свойства «PROPNAME» на «вещь» объекта.

+1

Правильный код будет. rowViewModel.GetType(). GetProperty ("FieldName"). GetValue (rowViewModel, null); Большое спасибо за то, что указали на меня в правильном направлении. – Houman

+0

Мое удовольствие. Благодарим вас за отправку исправленного кода для будущих поисковиков. –

Смежные вопросы