У меня есть два класса с добытчиками собственности толькоКак я могу использовать отражение для изменения свойств с отсутствующими сеттерами?
public class A
{
public A(string name)
{
Name = name;
}
public string Name { get; }
public string Value { get; set;}
public string Data { get; set;}
}
public class B
{
public B(string name)
{
Name = name;
}
public string Name { get; }
public string Value { get; set;}
}
Они отличаются по форме, но разделяют некоторые из тех же имен свойств и типов. Как копировать значения, когда у них есть только получатели?
Это типичный сценарий, когда я отправляю объект в качестве параметра конструктора для извлечения значений из нового объекта. Затем мне нужно копировать значения один за другим. Это может привести к большому количеству кода и его трудно поддерживать.
Можно ли сделать это проще? Есть ли способ использовать отражение для копирования объектов, когда цель имеет только свойства getter?
Какой смысл иметь автоматически реализованные свойства, даже если у вас нет частного сеттера? Как такой объект следует использовать без магии отражения? –
Это разрешено в последней версии C#, но его можно установить только в конструкторе. Чтение только при создании. – Frode
согласны, но вы устанавливаете только имя в конструкторе. Таким образом, нет никакого порядкового способа настройки 'Value' и' Data' –