Estou tentando usar métodos de extensão para adicionar uma sobrecarga de operador à StringBuilder
classe C # . Especificamente, StringBuilder
sb
eu gostaria de sb += "text"
me tornar equivalente a sb.Append("text")
.
Aqui está a sintaxe para criar um método de extensão para StringBuilder
:
public static class sbExtensions
{
public static StringBuilder blah(this StringBuilder sb)
{
return sb;
}
}
Ele adiciona com êxito o blah
método de extensão ao arquivo StringBuilder
.
Infelizmente, a sobrecarga do operador não parece funcionar:
public static class sbExtensions
{
public static StringBuilder operator +(this StringBuilder sb, string s)
{
return sb.Append(s);
}
}
Entre outros problemas, a palavra this
- chave não é permitida neste contexto.
É possível adicionar sobrecargas do operador por meio de métodos de extensão? Se sim, qual é a maneira correta de fazer isso?