Estoy intentando usar métodos de extensión para agregar una sobrecarga de operadores a la StringBuilderclase 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 blahmé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 thisno 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?