2009-09-09 10 views

Répondre

29

On présume que cela n'a pas été jugé suffisamment utile pour justifier l'inclusion.

Vous pouvez facilement ajouter comme une méthode d'extension si vous voulez bien (et si vous utilisez C# 3):

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

Notez que les valeurs sont exprimées en nombres entiers, vous pourriez facilement vous retrouver obtenir une valeur non exacte, en supposant que vous souhaitez renvoyer un Point plutôt qu'une autre structure en utilisant decimal ou double. Ce qui précède est en fait pour System.Drawing.Rectanglestruct. Si vous parlez d'un Rectangle différent, veuillez ajouter les informations appropriées et je modifierai ma réponse.

+0

Comment ajouter cette extension à System.Drawing.Rectangle? – CallMeLaNN

+1

@CallMeLaNN: déclarez-le simplement dans une classe statique, non générique et de premier niveau. Pour plus de détails, lisez les méthodes d'extension en général, par ex. dans MSDN. –

+0

http://connect.microsoft.com/VisualStudio/feedback/details/93879/system-drawing-rectangle-needs-centerpoint-property est l'endroit où il a été formellement suggéré. – Stobor

5

Il existe dans le cadre Microsoft.XNA.Framework (n'est plus supporté).

Rectangle.Center Property

myRectangle.Center retourne un Point

+0

dans quelle version? .net 5? – Benny

+0

4.5.51641 l'a. Je ne sais pas quand il a été ajouté. – Evorlor

+0

De quel type exact parlez-vous? Un lien serait utile. –

Questions connexes