.net 如何在内置类中重载运算符?
有人提到在例如Color struct中重载+是有意义的。但是我该怎么做呢?我认为它需要在类型内部。没错;无法将运算符重载添加到现有类型(没有扩展运算符)。我不会继续这样做-创建扩展方法add(颜色c1,颜色c2)可能会更干净。运算符涉及两个操作数,您有机会将运算符重载放入所涉及的两种类型中.net 如何在内置类中重载运算符?,.net,operator-overloading,.net,Operator Overloading,有人提到在例如Color struct中重载+是有意义的。但是我该怎么做呢?我认为它需要在类型内部。没错;无法将运算符重载添加到现有类型(没有扩展运算符)。我不会继续这样做-创建扩展方法add(颜色c1,颜色c2)可能会更干净。运算符涉及两个操作数,您有机会将运算符重载放入所涉及的两种类型中 换句话说,您可以编写自己的自定义类型,并添加使其与颜色交互的运算符,但是如果您希望颜色和int与新运算符交互,那么很抱歉,不,您不能这样做。只是想知道,当+红色和红色时会发生什么?双红?@gaearon:我
换句话说,您可以编写自己的自定义类型,并添加使其与颜色交互的运算符,但是如果您希望颜色和int与新运算符交互,那么很抱歉,不,您不能这样做。只是想知道,当
+
红色和红色时会发生什么?双红?@gaearon:我想它应该是类似于Color.FromARGB(Math.Min(255,c1.A+c2.A),…)