Betrachten Sie den folgenden Code ein:Verwenden von String-Konstanten in implizite Konvertierung
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.
Aber ich möchte in der Lage folgendes zu tun ist, wenn möglich.
TextType textFromStringConstant = "SomeOtherText";
Ich kann die String-Klasse mit dem Texttype impliziten Operator Überlastung erstrecken, aber gibt es eine Möglichkeit, eine Zeichenkette zu einer anderen Klasse zugeordnet werden (was durch ein Verfahren oder etwas gehandhabt wird)?
String ist ein Referenztyp, also mussten sie, wenn sie C# entwickelten, offensichtlich einen Weg verwenden, um ein String-Literal für die Klasse zu erhalten. Ich hoffe nur, dass es nicht fest in der Sprache kodiert ist.
Einzelheiten siehe Abschnitt 10.10.3 der Spezifikation. –