2011-02-28 35 views
2

有人提到,例如,顏色結構。但我該怎麼做呢?我認爲它需要在類型內部。如何在內置類中重載運算符?

+2

只是想知道,當你紅色和紅色時會發生什麼?雙紅? – 2011-02-28 18:44:21

+0

@gaearon:我會認爲這是沿着'Color.FromARGB(Math.Min(255,c1.A + c2.A),...) – 2011-02-28 18:47:10

回答

5

這是正確的;沒有辦法將運營商超載添加到現有的類型(沒有擴展運營商)。

0

我不會追求這一點 - 它很可能是清潔創建一個擴展方法添加(膚色C1,C2顏色)

0

運營商涉及2個操作數,你必須把運算符重載成eather的機會涉及的兩種類型。換句話說,您可以編寫自己的自定義類型,並添加與Color進行交互的操作符,但是如果您希望Color和int與新操作符交互,那麼抱歉,不,您不能這樣做。