在某本参考书上看到 = 符号是可以重载的,求大神帮忙看一下这段代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Test
{
class Program
{
static void Main(string []args)
{
EqualClass equalstr = "重载“=”运算符";
string str = equalstr;
Console.Write(str);
Console.Read();
}
class EqualClass
{
private string _str;
private EqualClass(string str)
{
this._str = str;
}
public static implicit operator EqualClass(string str)
{
return new EqualClass(str);
}
public static implicit operator string(EqualClass mystr)
{
return mystr._str;
}
}
}
}
这不是前面刚讲的隐式类型转换吗,怎么变成重载'='号了
隐式转换
public static implicit operator EqualClass(string str)
{
return new EqualClass(str); //这不是返回 重新创建了一个新对象去重载 ‘=’,看代码好像是符合逻辑。。
}