Я пытаюсь использовать методы расширения, чтобы добавить перегрузку оператора в класс C # 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
недопустимо в этом контексте.
Возможно ли добавление перегрузок операторов с помощью методов расширения? Если да, то как правильно это сделать?