【发布时间】:2011-07-31 19:30:52
【问题描述】:
在声明二元运算符时,至少有一个操作数类型必须是包含类型。总的来说,这听起来是一个不错的设计决策。但是,没想到下面的代码会导致这个错误:
public class Exp<T>
{
public static Exp<int> operator +(Exp<int> first, Exp<int> second)
{
return null;
}
}
这个运算符有什么问题?为什么这种情况属于c#的运算符重载限制?允许这种声明有危险吗?
【问题讨论】:
标签: c# operators operator-overloading