Ich versuche, Erweiterungsmethoden zu verwenden, um der C # StringBuilder
-Klasse eine Operaterüberladung hinzuzufügen . Insbesondere StringBuilder
sb
würde ich gerne sb += "text"
gleichwertig werden mit sb.Append("text")
.
Hier ist die Syntax zum Erstellen einer Erweiterungsmethode für StringBuilder
:
public static class sbExtensions
{
public static StringBuilder blah(this StringBuilder sb)
{
return sb;
}
}
Die blah
Erweiterungsmethode wird erfolgreich zum hinzugefügt StringBuilder
.
Leider scheint die Überlastung des Bedieners nicht zu funktionieren:
public static class sbExtensions
{
public static StringBuilder operator +(this StringBuilder sb, string s)
{
return sb.Append(s);
}
}
Unter anderem ist das Schlüsselwort this
in diesem Zusammenhang nicht zulässig.
Ist das Hinzufügen von Operatorüberladungen über Erweiterungsmethoden möglich? Wenn ja, wie geht man richtig vor?