2009-09-09 7 views

Respuesta

29

Probablemente no se consideró lo suficientemente útil como para merecer la inclusión.

Desde aquí se puede agregarlo como un método de extensión si se quiere, aunque (y si usted está usando C# 3):

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

Tenga en cuenta que como los valores se expresan como números enteros, que podría fácilmente terminar obteniendo un valor no exacto, suponiendo que desea devolver un Point en lugar de otra estructura usando decimal o double.

Lo anterior es en realidad para System.Drawing.Rectanglestruct. Si está hablando de un Rectángulo diferente, agregue la información adecuada y editare mi respuesta.

+0

Cómo agregar esta extensión a System.Drawing.Rectangle? – CallMeLaNN

+1

@CallMeLaNN: simplemente declararlo en una clase estática, no genérica, de nivel superior. Para obtener más detalles, lea sobre los métodos de extensión en general, p. en MSDN. –

+0

http://connect.microsoft.com/VisualStudio/feedback/details/93879/system-drawing-rectangle-needs-centerpoint-property es donde se ha sugerido formalmente. – Stobor

5

Existe dentro del Microsoft.XNA.Framework (ya no es compatible).

Rectangle.Center Property

myRectangle.Center devuelve un Point

+0

en qué versión? .net 5? – Benny

+0

4.5.51641 lo tiene. No estoy seguro de cuándo fue agregado. – Evorlor

+0

¿A qué tipo exacto se refiere? Un enlace sería útil. –

Cuestiones relacionadas