Przeciążanie operatora za pomocą metod rozszerzeń C #

Próbuję użyć metod rozszerzenia, aby dodać przeciążenie operatera do C #StringBuilder klasa. W szczególności podaneStringBuilder sb, Chciałbymsb += "text" stać się równoważnymsb.Append("text").

Oto składnia do tworzenia metody rozszerzenia dlaStringBuilder:

public static class sbExtensions
{
    public static StringBuilder blah(this StringBuilder sb)
    {
        return sb;
    }
} 

Z powodzeniem dodajeblah metoda rozszerzenia doStringBuilder.

Niestety, przeciążenie operatora nie działa:

public static class sbExtensions
{
    public static StringBuilder operator +(this StringBuilder sb, string s)
    {
        return sb.Append(s);
    }
} 

Między innymi słowo kluczowethis nie jest dozwolone w tym kontekście.

Czy możliwe jest dodanie przeciążenia operatora za pomocą metod rozszerzenia? Jeśli tak, jaki jest właściwy sposób postępowania?

questionAnswers(6)

yourAnswerToTheQuestion