![]() |
#10 |
Участник
|
Цитата:
Дык. Механизм extensions в Аксапте - это механизм плугинов у нормальных людей. механизм плугинов позволяет вызвать все методы с одинаковыми сигнатурами, которые находятся в разных местах. В этом смысле наследование и плугины - да, ортогональны друг-другу. Но опять же - майкрософт ведут себя как пионеры-первопроходцы, как будто не было нескольких десятилетий после изобретения плугинов, отважно наступая на все грабли. ========================= Я о чем:
в общем, extension-методы не новость, есть куча аналогов. и очень хочется видеть не заклинания (cast) в стиле "This is my new favorite X++ feature", а сравнение с другими инструментами/языками. и анализ плюсов-минусов и способов минимизации минусов. Для сравнения см. того же Страустрапа. Да, не во всем он по итогу прав (см. тот же Boost). но его доводы внушают уважение и к ним стоит прислушаться. а тут броуновское движение какое-то. Почему в одном случае таки расширили значение ключевого слова next, а в другом вставили какой-то атрибут? какое-нибудь ключевое слово использовать в том же месте, где "живут" extends-implements. Например, by, case, like. Да хоть тот же delegate! https://msdn.microsoft.com/en-us/lib...or=-2147217396 |
|