考虑这样一个类:
public class MyString
{
private string _string;
public string String
{
get { return _string; }
set { _string = value; }
}
public MyString(string s)
{
_string = s;
}
public static implicit operator string(MyString str)
{
return str.String;
}
public static implicit operator MyString(string str)
{
return new MyString(str);
}
}
如何使以下代码工作?
MyString a = "test";
object b = a;
var c = (string)b;
现在我得到了这个例外:
InvalidCastException:无法将“MyString”类型的对象转换为“System.String”类型。