【发布时间】:2012-09-03 16:22:28
【问题描述】:
我知道在C# 中,作为混合语言,有运算符,它们不是对象,就像在 smalltalk 中一样。
有没有办法将它们视为对象(如Smalltalk)?
我的意思是,向它们添加属性和方法,或者将它们包含在类层次结构中。
据我所知,(感谢 Google),overload an operator 是可能的,但我找不到其他任何东西。
例如,我想知道是否可以做类似的事情
if(+.PrecedenceLevel > *.PrecedenceLevel)
{
//something
}
只是我好奇的问题,与我的工作无关。
【问题讨论】:
-
不,这是不可能的。
-
你的意思是
public seal class +{...}??那么1+2会做什么??? -
正如我向 Jon Skeet 提到的,假设我想这样做 if(+.PrecedenceLevel > *.PrecedenceLevel) {something} 但你说得对,我没有考虑 1+2会做。但我想这只是实现,对吧?我的意思是,在 Smalltalk 中,据我所知,这是可能的
-
@ElVieejo:- 除了这个
if(+.PrecedenceLevel > *.PrecedenceLevel) {something}概念真的很好,希望有一天有人会实现:) :thumbsup: