Is it possible to create a new operator in c#?

后端 未结 7 1750
南旧
南旧 2020-11-29 06:46

I know you can overload an existing operator. I want to know if it is possible to create a new operator. Here\'s my scenario.

I want this:

var x =          


        
7条回答
  •  爱一瞬间的悲伤
    2020-11-29 07:26

    As the other answers have said, you can't create a new operator - at least, not without altering the lexer and parser that are built into the compiler. Basically, the compiler is built to recognize that an individual character like < or ?, or a pair like >> or <=, is an operator and to treat it specially; it knows that i<5 is an expression rather than a variable name, for instance. Recognizing an operator as an operator is a separate process from deciding what the operator actually does, and is much more tightly integrated into the compiler - which is why you can customize the latter but not the former.

    For languages which have an open-source compiler (such as GCC) you could, theoretically, modify the compiler to recognize a new operator. But it wouldn't be particularly easy, and besides, everyone would need your custom compiler to use your code.

提交回复
热议问题