Considere el siguiente código:Uso de las constantes de cadena en la conversión implícita
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.
pero quiero ser capaz de hacer lo siguiente, si es posible.
TextType textFromStringConstant = "SomeOtherText";
No puedo extender la clase String con el TextType sobrecarga del operador implícita, pero ¿hay alguna manera de asignar una cadena literal a otra clase (el cual es manejado por un método o algo así)?
La cadena es un tipo de referencia, por lo que cuando desarrollaron C# obviamente tuvieron que usar alguna forma de obtener una cadena literal para la clase. Solo espero que no esté codificado en el lenguaje.
Consulte la sección 10.10.3 de la especificación para obtener más información. –