- 操作符的本质是对方法的简化。
- 实现操作符重载的方法必须是public static的,后面加上关键字operator和被重载的操作符,如【+】,且放在操作数的类中。
- 方法的返回值类型不能是void,但可以是其他类型。
using System;
namespace _05
{
class Program
{
static void Main(string[] args)
{
Test1 test11 = new Test1(1);
Test1 test12 = new Test1(2);
Console.WriteLine("*****测试方法*****");
Console.WriteLine($"test11 Add test12 = {Test1.Add(test11, test12).value}");
Console.WriteLine();
Console.WriteLine("*****测试操作符*****");
Console.WriteLine($"test11 + test12 = {(test11 + test12).value}");
Console.WriteLine();
}
}
class Test1
{
public int value;
public Test1(int value)
{
this.value = value;
}
public static Test2 Add(Test1 test11, Test1 test12)
{
return new Test2(test11.value + test12.value);
}
public static Test2 operator +(Test1 test11, Test1 test12)
{
return new Test2(test11.value + test12.value);
}
}
class Test2
{
public int value;
public Test2(int value)
{
this.value = value;
}
}
}