Справка по отражению - установка свойств объекта на основе другого объекта - PullRequest
1 голос
/ 27 января 2010

Я мог бы использовать немного помощи в переизбрании. Я передаю объект в конструктор другого объекта. Мне нужно перебрать свойства параметра и установить свойства новых объектов на его основе. Большинство, но не все, свойства params существуют в новом объекте.

Пока у меня это есть, основной скелет.

  public DisabilityPaymentAddEntity(DisabilityPaymentPreDisplayEntity preDisplay)
  {
      Init(preDisplay);
  }

  private void Init(DisabilityPaymentPreDisplayEntity display)
  {
       //need some type of loop using reflection here
  }

В методе «Init» мне нужно пройтись по свойствам «display» и установить любые свойства «DisabilityPaymentAddEntity» с тем же именем на значения в preDisplay.

Кто-нибудь может дать мне подсказку, что мне нужно делать? Я уверен, что мне нужно использовать PropertyInfo и т. Д.

Спасибо, ~ ck в Сан-Диего

1 Ответ

3 голосов
/ 27 января 2010

Как-то так я думаю

Type target = typeof(DisabilityPaymentAddEntity);
foreach(PropertyInfo pi in display.GetType().GetProperties())
{
     PropertyInfo targetProp = target.GetProperty(pi.Name);
     if(targetProp!=null)
     {
        targetProp.SetValue(this, pi.GetValue(display, null), null);
     }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...