所有
是否可以通过对.net 2.0中内置类型的反射来调用运算符(例如+,+)? 看来,你不能!当我尝试在int32上访问op_Increment时,未定义运算符。我读到内置类型的运算符由编译器处理,并且没有在实际类型上定义...请确认。
否则,还有另外一种方法吗?我知道C#的后续版本有动态关键字,我有哪些选择?
答案 0 :(得分:1)
+
和++
等操作映射到IL指令,并且没有相应的op_Increment
方法,例如。
decimal
允许你,即使它看起来像内置类型。 string
是一个有趣的问题,因为对+
的调用会映射到String.Concat
及其变体。
看看这篇generic operators文章,它可能有所帮助(由Jon Skeet和Marc Gravell撰写)