Подтвердить что ты не робот

Почему нет метода Center() для класса Rectangle в С#?

ранее, есть такой метод для Rectangle в MFC, я не знаю, почему нет для версии С#.

4b9b3361

Ответ 1

Предположительно, это не было сочтено полезным, чтобы заслужить включение.

Вы можете легко добавить его как метод расширения, если хотите (и если вы используете С# 3):

public static Point Center(this Rectangle rect)
{
    return new Point(rect.Left + rect.Width/2,
                     rect.Top + rect.Height / 2);
}

Обратите внимание, что поскольку значения выражаются как целые числа, вы можете легко получить неточное значение, предполагая, что хотите вернуть Point, а не другую структуру, используя decimal или double.

Вышеупомянутое действительно для структуры System.Drawing.Rectangle. Если вы говорите о другом прямоугольнике, добавьте соответствующую информацию, и я отредактирую свой ответ.

Ответ 2

Он существует внутри (больше не поддерживается) Microsoft.XNA.Framework.

Свойство Rectangle.Center

myRectangle.Center возвращает a Point