Sobrecarga del operador con métodos de extensión C #
Estoy intentando usar métodos de extensión para agregar una sobrecarga del operador a la C #StringBuilder
clase. Específicamente, dadoStringBuilder
sb
, Me gustaríasb += "text"
llegar a ser equivalente asb.Append("text")
.
Aquí está la sintaxis para crear un método de extensión paraStringBuilder
:
public static class sbExtensions
{
public static StringBuilder blah(this StringBuilder sb)
{
return sb;
}
}
Se agrega con éxito lablah
método de extensión a laStringBuilder
.
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á permitido en este contexto.
¿Es posible agregar sobrecargas de operador a través de métodos de extensión? Si es así, ¿cuál es la forma correcta de hacerlo?