Рассмотрим следующий код:Использование строковых констант в неявном
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";
Я не могу расширить класс String, с TextType неявной перегрузки оператора, но есть ли способ присвоить символьной строки в другой класс (который обрабатывается методом или что-то)?
Строка является ссылочным типом, поэтому, когда они разработали C#, им явно пришлось использовать какой-либо способ получить строковый литерал для класса. Я просто надеюсь, что это не жестко закодировано на языке.
Подробнее см. В разделе 10.10.3 спецификации. –