Я хотел бы создать класс-оболочку, который заменяет определенный метод или свойство существующего класса минимальным количеством кода
Я мог бы использовать шаблон декоратора, но он не очень чистый. В итоге мне пришлось бы заново объявлять каждый метод и свойство в обернутом классе, хотя я переопределяю только один или два из них и дополнительно должен был бы поддерживать интерфейс.
Я мог бы использовать методы расширения, но я хочу переопределить существующий метод или свойство, чтобы он не работал, и даже если метод расширения может переопределить существующий метод, я бы не хотел, чтобы он переопределял метод для каждого экземпляра.
Лучшее, что я могу придумать, это что-то вроде
public MyDerivedClass : BaseClass
{
MyDerivedClass(BaseClass obj)
{
this.x = obj.x; this.y=obj.y etc.....
}
public override string BaseMethod()
{
}
}
что я действительно хочу, это что-то вроде
public MyDerivedClass:BaseClass
{
MyDerivedClass(BaseClass obj)
{
base = obj;
}
public override string BaseMethod()
{
}
}