Estoy intentando usar métodos de extensión para agregar una sobrecarga de operadores a la StringBuilder
clase C # . Específicamente, dado StringBuilder
sb
, me gustaría sb += "text"
ser equivalente a sb.Append("text")
.
Aquí está la sintaxis para crear un método de extensión para StringBuilder
:
public static class sbExtensions
{
public static StringBuilder blah(this StringBuilder sb)
{
return sb;
}
}
Agrega con éxito el blah
método de extensión a StringBuilder
.
Desafortunadamente, la sobrecarga del operador no parece funcionar:
public static class sbExtensions
{
public static StringBuilder operator +(this StringBuilder sb, string s)
{
return sb.Append(s);
}
}
Entre otras cuestiones, la palabra clave this
no está permitida en este contexto.
¿Son posibles las sobrecargas del operador mediante métodos de extensión? Si es así, ¿cuál es la forma correcta de hacerlo?