如何在.net中创建像String类这样的密封类,这样我们就可以在不创建像String str="abc&qu
本文关键字:创建 String str qu quot abc 就可以 net 密封类 我们 | 更新日期: 2023-09-27 18:19:19
我想在。net中创建一个类似string
类的类。String
是一个密封类,我们可以直接给它赋值,比如字符串str="Cat";
。
如何创建这样的密封类?
string可以从string字面值赋值,并不是因为该类是密封的。有关说明,请参阅文档:http://msdn.microsoft.com/en-us/library/88c54tsw(v=VS.100).aspx
对于string,它可以工作,因为字符串字面值默认会转换为字符串对象,但您可以使用隐式操作符为您自己的类实现相同的功能:
public class MyCustomClass
{
string mString;
public MyCustomClass(string str)
{
mString = str;
}
/* Structure of the implicit operator:
* modifier static implicit operator destinationType(sourceType value)
*/
public static implicit operator MyCustomClass(string value)
{
MyCustomClass cls = new MyCustomClass(value);
return cls;
}
public static implicit operator string(MyCustomClass cls)
{
if (cls == null)
return null;
return cls.mString;
}
}
那么你可以用下面的例子:
MyCustomClass cls = "Hello!";
string str = cls;