读书人

C#满载运算符没起作用

发布时间: 2012-09-02 21:00:34 作者: rapoo

C#重载运算符没起作用
class Program
{
public static int operator +(retangle lh, retangle rh)
{
//return new retangle(lh.width + rh.width, lh.height + rh.height);
return 1;
}
static void Main(string[] args)
{
retangle r = new retangle(20, 20);
retangle l = new retangle(10, 7);
retangle num = new retangle();
num = r + l; //**************这个地方总提示类型不能相加,求帮助!*****************
Console.WriteLine(num.width + "" + num.height);

}

}
public struct retangle
{
public int width;
public int height;

public retangle(int w, int h)
{
this.width = w;
this.height = h;
}
public retangle();
}

[解决办法]
重载运算符必须声明在其中一个参数的类里面。
由于你这个两个参数都是retangle所以只能声明在retangle类里面,而不是Program类里面。

读书人网 >C#

热点推荐