我可以重载十进制类型的+运算符吗?

时间:2012-09-18 12:45:42

标签: c# operator-overloading

使用小数有一个舍入错误,因为它从另一个系统读取另一个数据类型。所以我想知道是否有可能在小数类型上重载+运算符?我看到的所有例子都是新定义的结构。

2 个答案:

答案 0 :(得分:4)

decimalvalue type,因此无法继承。您可能需要更正此外的舍入,可能通过扩展方法,例如

public static decimal Add(this decimal value, ...)
{
    ... do manual calculation & rounding
}

答案 1 :(得分:3)

您只能为该类/结构定义中的类/结构重载运算符,因此您无法覆盖+类型的默认decimal行为。

理想情况下,您会编写某种包装来纠正源上的舍入错误。