我正在尝试创建一个“反向”扩展Rectangle的类。我希望能够将此方法放在类中:

    public Point RightPoint()
    {
        return new Point(this.X + this.Width, this.Y + this.Height / 2);
    }


然后调用rectangle.RightPoint();并获得返回值。 (XYWidthHeightRectangle的字段)。

这可能吗?还是我需要制作这些静态方法,然后将它们传递给Rectangle

最佳答案

我认为您需要extension method

public static Point RightPoint(this Rectangle rectangle)
{
    return new Point(rectangle.X + rectangle.Width, rectangle.Y + rectangle.Height / 2);
}


上面的代码应该放在static类中。

然后,您可以在Rectangle对象上执行此操作:

Rectangle rect = new Rectangle();
Point pointObj = rect.RightPoint();

关于c# - 反向扩展类,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23306747/

10-12 18:44