2011-05-24 84 views
2

可能重複:
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.

我找了更多的關鍵詞類型的操作像typeofis

+0

你爲什麼要這樣做?我假設你的例子不是真正的原因...> = 5 .. – Fosco 2011-05-24 16:12:27

+1

它更像是一種可讀性類型的東西,真的試圖讓語言成爲我自己的語言。 – 2011-05-24 16:14:30

回答

3

不,C#不允許自定義運算符。你可以重載某些預先存在的,但是你不能像Haskell或F#那樣創建你自己的。

+0

如果使用Visual Studio有一種方法可以用宏來做到這一點?或任何類型的環境附加組件? – 2011-05-24 16:12:38

+1

@Kyle Uithoven:沒有。這可能會如何工作?如果它是一個VS宏,它將不得不將常規的C#代碼與函數調用。你不能解決這個事實,即C#不允許你定義自定義運算符(並且感謝$ DEITY它沒有)。 – siride 2011-05-24 16:14:53

+0

@Kyle c#不支持宏(通過設計,並有很好的理由)。當然,添加足夠的上游定製工具,你可以做任何你想做的事情:我只是不會。 – 2011-05-24 16:15:21

相關問題