2011-05-24 48 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

相关问题