Я использую linq для сопоставления двух похожих объектов, но у меня возникает проблема, что он не отображает подклассы, которые он даже не видит в GetProperties(). Подклассы отмечены как общедоступные, поэтому я немного смущен, почему этот код не работает ... Любые идеи или предложения по использованию другого метода/с. Заранее благодарны за Вашу помощь.Отображение двух классов Свойства и значения Linq
foreach (PropertyInfo pInfo in _WorkRequest.GetType().GetProperties())
{
_WorkRequestV1.GetType().GetProperty(pInfo.Name).SetValue(_WorkRequestV1, pInfo.GetValue(_WorkRequest, null), null);
}
UPDATE
Посмотрев на это, я заметил, что при объявлении подкласса внутри класса Ex:
public Person myPerson;
GetProperties() делает не см класс Person, но если Я добавлю
public Person myPerson {get;set;}
GetProperties() делает см myPerson
Наконец, если добавить
public Person myPerson = new Person()
GetProperties() делает не видеть человека.
Как это получилось {get; set}?
Ну, 'общественное лицо myPerson' не является свойством, но поле. 'public Person myPerson {get; set;}' является свойством. Как вы выполняете 'GetProperties' после' public Person myPerson = new Person() '? –
@GertArnold Что вы имеете в виду, как мне выполнить GetProperties, что я делаю, это List myList = _WorkRequest.GetType(). GetProperties(). ToList(); где внутри моего класса _WorkRequest у меня есть Person myPerson = new Person как свойство. –
Вы должны показать больше кода. Если Person является публичным свойством класса WorkRequest, он должен появиться в GetProperties(). –