以前,在MFC中有這種矩形的方法,我不知道爲什麼沒有爲C#版本。爲什麼在C#中沒有用於Rectangle類的Center()方法?
回答
想必它被認爲是不夠有用,值得包容。
,如果你想,但(如果你在使用C 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
struct。如果您正在討論不同的矩形,請添加適當的信息,然後編輯我的答案。
如何將此擴展添加到System.Drawing.Rectangle? – CallMeLaNN 2011-02-24 10:30:08
@CallMeLaNN:只需將其聲明爲靜態,非泛型,頂級類。有關更多詳細信息,請閱讀有關一般擴展方法的信息,例如在MSDN中。 – 2011-02-24 10:32:12
http://connect.microsoft.com/VisualStudio/feedback/details/93879/system-drawing-rectangle-needs-centerpoint-property是它正式提出的地方。 – Stobor 2011-07-30 09:09:21
- 1. 爲什麼Object類沒有Thread方法
- 2. 爲什麼org.lwjgl.opengl.GL43類沒有glDrawElements方法?
- 3. 爲什麼在C++中沒有Set方法用於重複的protobuf字段?
- 4. 爲什麼C#中沒有朋友類?
- 5. 爲什麼C#對象類有兩個等於方法
- 6. 爲什麼在C++ std :: vector中沒有pop_front方法?
- 7. 有沒有辦法在java中使用類似於c#的引用(@「」)的方法
- 8. 爲什麼C++方法有時在類中定義?
- 9. 爲什麼GLSurfaceView.Renderer中沒有onSurfaceDestroyed方法?
- 10. 在java中有沒有和Rectangle類似的類?
- 11. 爲什麼C#中的SortedList沒有Find方法?
- 12. 爲什麼__dict__中沒有類的__new__方法?
- 13. 爲什麼elixir沒有基於類型的方法在實例上工作?
- 14. 爲什麼沒有任何整數方法適用於OpenGL?
- 15. 有沒有什麼方法可以使用'unset'作爲方法?
- 16. 爲什麼沒有引用變量用於在awt中添加方法
- 17. 爲什麼沒有這個C#4.0異步方法被調用?
- 18. 爲什麼Enumerable中的方法可能沒有方法體?
- 19. 爲什麼類方法沒有被調用?
- 20. 有沒有什麼辦法在c#中的標準頁面中有[System.Web.Services.WebMethod]方法?
- 21. 在Game Center中設置highScore最簡單的方法是什麼?
- 22. 爲什麼Struts2中沒有用於Action類的Singleton概念?
- 23. 爲什麼Haskell中沒有用於函數的monoids類型?
- 24. 爲什麼沒有辦法在C++中撤消「使用」?
- 25. 爲什麼在C++中沒有static_if 11
- 26. 有什麼辦法在C#中有一個父類使用兒童的方法?
- 27. 爲什麼C#沒有爲變量和方法設計'const'?
- 28. 在IDE中檢查方法 - 爲什麼沒有副作用?
- 29. 爲什麼沒有爲命名指針類型定義方法?
- 30. 爲什麼getResourceAsStream方法在Class類中?
我覺得這是一個奇怪的不作爲和。 – 2010-08-24 20:38:49