C# - 自动将方法调用传递给具有相同签名的对象的方法

C# - Automatically pass method call to method of object with same signature

我想在 C# WPF 中创建自定义 Rectangle,但无法从 Rectangle 继承。所以基本上我要做的是从我需要的 Rectangle 复制方法并将它们传递给我保留在自定义 Rectangle-class 中的 Rectangle-Object,比如这个:

private double _width;
public double Width
{
    get => _width;
    set
    {
        _width = value;
        _rectangle.Width = _width;
    }
}
private double _height;
public double Height
{
    get => _height;
    set
    {
        _height = value;
        _rectangle.Height = _height;
    }
}
private Brush _stroke;
public Brush Stroke
{
    get => _stroke;
    set
    {
        _stroke = value;
        _rectangle.Stroke = _stroke;
    }
}
private int _strokeThickness;
public int StrokeThickness
{
    get => _strokeThickness;
    set
    {
        _strokeThickness = value;
        _rectangle.StrokeThickness = _strokeThickness;
    }
}
private Brush _fill;
public Brush Fill
{
    get => _fill;
    set
    {
        _fill = value;
        _rectangle.Fill = _fill;
    }
}
private bool _focusable;
public bool Focusable
{
    get => _focusable;
    set
    {
        _focusable = value;
        _rectangle.Focusable = _focusable;
    }
}

C# .NET 中是否有一种语言功能可以为我执行此操作,因此我不必手写所有内容?

在母语中没有。可能是因为这通常不是你想要的。

封类封是有原因的

在您的示例中,我没有看到任何添加的属性,所以扩展方法是否可行?

我还看到你有一个字段用于每个 属性 和一个字段 _rectangle。你为什么要那样做。您可以 return _rectangle.width 在 getter.