Sobrecarga do operador com métodos de extensão C #
Eu estou tentando usar métodos de extensão para adicionar uma sobrecarga operater ao c #StringBuilder
classe. Especificamente, dadoStringBuilder
sb
, Eu gostariasb += "text"
para se tornar equivalente asb.Append("text")
.
Aqui está a sintaxe para criar um método de extensão paraStringBuilder
:
public static class sbExtensions
{
public static StringBuilder blah(this StringBuilder sb)
{
return sb;
}
}
Ele adiciona com sucesso oblah
método de extensão para oStringBuilder
.
Infelizmente, a sobrecarga de operadores parece não funcionar:
public static class sbExtensions
{
public static StringBuilder operator +(this StringBuilder sb, string s)
{
return sb.Append(s);
}
}
Entre outros problemas, a palavra-chavethis
não é permitido neste contexto.
Estão adicionando sobrecargas do operador através de métodos de extensão possível? Se sim, qual é o jeito certo de fazer isso?