Перегрузка операторов
С новыми extension-методами наконец-то появилась перегрузка операторов для сторонних типов:
static class Extensions {
extension(IEnumerable) {
public static IEnumerable operator +(IEnumerable a, IEnumerable b)
=> a.Concat(b);
}
extension(T[]) {
public static T[] operator +(T[] a, T[] b)
=> a.Concat(b).ToArray();
}
}
Выглядит синтаксис с extension(TypeName) максимально странно, зато extension-ы наконец-то избавились от странных ограничений старого синтаксиса с this
@epeshkblog
С новыми extension-методами наконец-то появилась перегрузка операторов для сторонних типов:
static class Extensions {
extension(IEnumerable) {
public static IEnumerable operator +(IEnumerable a, IEnumerable b)
=> a.Concat(b);
}
extension(T[]) {
public static T[] operator +(T[] a, T[] b)
=> a.Concat(b).ToArray();
}
}
Выглядит синтаксис с extension(TypeName) максимально странно, зато extension-ы наконец-то избавились от странных ограничений старого синтаксиса с this
@epeshkblog