Я пытаюсь использовать методы расширения для добавления перегрузки оператора в класс С# StringBuilder. В частности, данный StringBuilder sb, я хотел бы, чтобы sb += "text" стал эквивалентным sb.Append("text").
Вот синтаксис для создания метода расширения для StringBuilder:
public static class sbExtensions
{
public static StringBuilder blah(this StringBuilder sb)
{
return sb;
}
}
Он успешно добавляет метод расширения blah к StringBuilder.
К сожалению, перегрузка оператора не работает:
public static class sbExtensions
{
public static StringBuilder operator +(this StringBuilder sb, string s)
{
return sb.Append(s);
}
}
Среди других проблем ключевое слово this не допускается в этом контексте.
Возможно ли добавление перегрузок операторов через методы расширения? Если да, то каков правильный способ сделать это?