У меня есть следующий код:Установка свойства скрытой базы базового класса
public class Ancestor
{
public string Property {get; protected set;}
}
public class Base : Ancestor
{
public string Property {get; set;}
}
public class Derived : Base
{
public Derived(string message)
{
//I need both properties to have the message value
}
}
предком и базовые классы являются не мой код, и я не могу изменить их.
Есть ли способ установить для свойства Ancestor значение сообщения?
Очевидно просто делать что-то вроде следующего не будет работать
Ancestor ancestor = this;
ancestor.Property = message
, потому что сеттер защищен.
Нет, я не может легко увидеть какой-либо способ сделать это. По сути, дизайн нарушен, и автору «Базы» следует спросить, почему они сделали такую неприятную вещь ... –
Вы можете взломать стоимость недвижимости через Reflection –