可能重複:
Is it possible to create a new operator in c#?是否有可能在C#中自定義運算符?
我在想,如果這是在所有可能的創建自定義運營商,如if (a atleast 5)
在C#。
上面的語句會讀,if a is at least 5 then do this.
我找了更多的關鍵詞類型的操作像typeof
或is
。
可能重複:
Is it possible to create a new operator in c#?是否有可能在C#中自定義運算符?
我在想,如果這是在所有可能的創建自定義運營商,如if (a atleast 5)
在C#。
上面的語句會讀,if a is at least 5 then do this.
我找了更多的關鍵詞類型的操作像typeof
或is
。
不,C#不允許自定義運算符。你可以重載某些預先存在的,但是你不能像Haskell或F#那樣創建你自己的。
如果使用Visual Studio有一種方法可以用宏來做到這一點?或任何類型的環境附加組件? – 2011-05-24 16:12:38
@Kyle Uithoven:沒有。這可能會如何工作?如果它是一個VS宏,它將不得不將常規的C#代碼與函數調用。你不能解決這個事實,即C#不允許你定義自定義運算符(並且感謝$ DEITY它沒有)。 – siride 2011-05-24 16:14:53
@Kyle c#不支持宏(通過設計,並有很好的理由)。當然,添加足夠的上游定製工具,你可以做任何你想做的事情:我只是不會。 – 2011-05-24 16:15:21
你爲什麼要這樣做?我假設你的例子不是真正的原因...> = 5 .. – Fosco 2011-05-24 16:12:27
它更像是一種可讀性類型的東西,真的試圖讓語言成爲我自己的語言。 – 2011-05-24 16:14:30