in precedenza, esiste un tale metodo per Rectangle in MFC, non so perché non ci sia per la versione C#.perché non esiste un metodo Center() per la classe Rectangle in C#?
risposta
Presumibilmente non è stato ritenuto utile per meritare l'inclusione.
Si potrebbe facilmente aggiungerlo come un metodo di estensione, se si desidera anche se (e se si sta utilizzando C# 3):
public static Point Center(this Rectangle rect)
{
return new Point(rect.Left + rect.Width/2,
rect.Top + rect.Height/2);
}
Si noti che i valori sono espressi come numeri interi, si potrebbe facilmente finire ottenendo un valore non esatto, assumendo che si desideri restituire uno Point
anziché un'altra struttura utilizzando decimal
o double
.
Quanto sopra è in realtà per la struttura System.Drawing.Rectangle
. Se stai parlando di un rettangolo diverso, aggiungi le informazioni appropriate e modificherai la mia risposta.
Come aggiungere questa estensione a System.Drawing.Rectangle? – CallMeLaNN
@CallMeLaNN: basta dichiararlo in una classe statica, non generica, di livello superiore. Per ulteriori dettagli, consulta i metodi di estensione in generale, ad es. in MSDN. –
http://connect.microsoft.com/VisualStudio/feedback/details/93879/system-drawing-rectangle-needs-centerpoint-property è dove è stato suggerito formalmente. – Stobor
Esiste all'interno di Microsoft.XNA.Framework (non più supportato).
myRectangle.Center
restituisce un Point
- 1. Esiste una classe circle in Java come la classe Rectangle
- 2. Perché non esiste un metodo Convert.toFloat()?
- 3. Esiste un metodo init per la classe di azione struts2?
- 4. Esiste un css equivalente a "align =" center ""?
- 5. "Frame Rectangle" vs. "Layout Rectangle" in Xcode
- 6. perché non esiste un metodo Dispose su HttpWebResponse
- 7. Perché non esiste un metodo simile a Monitor.EnterAsync
- 8. Esiste un metodo "upto" in C#?
- 9. Perché non esiste una classe di caratteri `Cofunctor` in Haskell?
- 10. Ereditarietà: esiste un modo per scoprire la classe da cui è stato chiamato un metodo?
- 11. Perché non esiste un metodo di overload IsNullOrEmpty senza parametri?
- 12. C++, classe come parametro a un metodo, non template da
- 13. perché il metodo principale in C# viene sempre inserito all'interno della classe ma non in C++
- 14. Array.Initialize - Perché esiste questo metodo?
- 15. Scoprire se esiste un metodo in una classe statica
- 16. Verificare se esiste un metodo in una classe estesa ma non nella classe padre
- 17. C'è un modo in C# per sovrascrivere un metodo di classe con un metodo di estensione?
- 18. Esiste un metodo "HasNext" per un IEnumerator?
- 19. Protocollo Objective-c per classe Swift. metodo non riconosciuto
- 20. Esiste un metodo di supporto per la pluralizzazione in Rails?
- 21. metodo non definito per la classe in Rspec
- 22. Esiste un equivalente per la classe Scanner in C# per le stringhe?
- 23. Riferimento metodo costruttore per la classe interna (non statica)?
- 24. Esiste un REPL per la programmazione C?
- 25. classe template con un singolo metodo specializzato in C++
- 26. Perché Eclipse non riconosce il metodo build() dalla classe Notification.Builder per restituire un oggetto di notifica?
- 27. Esiste un metodo inverso per `Array # include?`?
- 28. Perché non esiste un metodo Linq per restituire valori distinti da un predicato?
- 29. Perché non esiste un oggetto StrongReference?
- 30. metodo non definito `caches_action 'per ApplicationController: Classe
Trovo che questa sia una strana omissione pure. –