Überladen von Operatoren mit C # -Erweiterungsmethoden
Ich versuche, Erweiterungsmethoden zu verwenden, um dem C # eine Operatorenüberladung hinzuzufügen.StringBuilder
Klasse. Insbesondere gegebenStringBuilder
sb
, Ich würde gernesb += "text"
äquivalent werden zusb.Append("text")
.
Hier ist die Syntax zum Erstellen einer Erweiterungsmethode fürStringBuilder
:
public static class sbExtensions
{
public static StringBuilder blah(this StringBuilder sb)
{
return sb;
}
}
Es fügt erfolgreich dieblah
Erweiterungsmethode zumStringBuilder
.
Leider scheint das Überladen von Operatoren nicht zu funktionieren:
public static class sbExtensions
{
public static StringBuilder operator +(this StringBuilder sb, string s)
{
return sb.Append(s);
}
}
Unter anderem das Stichwortthis
ist in diesem Zusammenhang nicht erlaubt.
Sind das Hinzufügen von Operatorüberladungen über Erweiterungsmethoden möglich? Wenn ja, wie gehen Sie vor?