请考虑以下代码:
public class TextType {
public TextType(String text) {
underlyingString = text;
}
public static implicit operator String(TextType text) {
return text.underlyingString;
}
private String underlyingString;
}
TextType text = new TextType("Something");
String str = text; // This is OK.
但如果可能,我希望能够做到以下几点。
TextType textFromStringConstant = "SomeOtherText";
我无法使用TextType隐式运算符重载扩展String类,但有没有办法将文字字符串分配给另一个类(由方法或其他东西处理)?
String是一种引用类型,因此当它们开发C#时,显然必须使用某种方式来获取类的字符串文字。我只是希望它不会硬编码到语言中。
答案 0 :(得分:9)
public static implicit operator TextType(String text) {
return new TextType(text);
}
答案 1 :(得分:6)
添加
public static implicit operator TextType(string content) {
return new TextType(content);
}
到你的班级? :)