Ich versuche, Erweiterungsmethoden zu verwenden, um der C # StringBuilder-Klasse eine Operaterüberladung hinzuzufügen . Insbesondere StringBuilder sbwü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 blahErweiterungsmethode 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 thisin diesem Zusammenhang nicht zulässig.
Ist das Hinzufügen von Operatorüberladungen über Erweiterungsmethoden möglich? Wenn ja, wie geht man richtig vor?