Size: a a a

2020 December 24

IC

Ilya Chernoudov in pro.net
но там будут проблемы с интели сенсом
источник

IC

Ilya Chernoudov in pro.net
Nikita Tsukanov
1) в BCL такого нет
2) что делать когда появляется третья версия
вообще ты можешь просто добавить новые методы в интерфесы с default inteface impl
источник

NT

Nikita Tsukanov in pro.net
Ilya Chernoudov
но ты всегда можешь запихать новый интерфейс в новый неймспейс или сделать его нестед в статическом классе
это кусок публичного API библиотеки
источник

IC

Ilya Chernoudov in pro.net
Ilya Chernoudov
но там будут проблемы с интели сенсом
а в случае статик в самом начле пишешь using static v2
источник

NT

Nikita Tsukanov in pro.net
Ilya Chernoudov
вообще ты можешь просто добавить новые методы в интерфесы с default inteface impl
1) это не работает в .NET Framework
2) это не гарантирует что реализация нормально заимплементит новую версию интерфейса
источник

NT

Nikita Tsukanov in pro.net
Ilya Chernoudov
а в случае статик в самом начле пишешь using static v2
интерфейс должен быть реализован клиентским кодом
источник

IC

Ilya Chernoudov in pro.net
Nikita Tsukanov
1) это не работает в .NET Framework
2) это не гарантирует что реализация нормально заимплементит новую версию интерфейса
а я уж думал его закопали
источник

NT

Nikita Tsukanov in pro.net
библиотека должна работать со старым клиентским кодом без его перекомпиляции
источник

NM

Nikolay M in pro.net
Nikita Tsukanov
это кусок публичного API библиотеки
Кмк лучше breaking changes, чем тащить легаси, только путать будет
источник

IC

Ilya Chernoudov in pro.net
Nikita Tsukanov
библиотека должна работать со старым клиентским кодом без его перекомпиляции
ну во тогда новые интерфейсы в другом неймспейсе и потом обрабатывать все версии
источник

NT

Nikita Tsukanov in pro.net
звучит как ёбань
источник

NT

Nikita Tsukanov in pro.net
и ничем концептуально не отличается от IFoo, IFoo2, IFoo3
источник

IC

Ilya Chernoudov in pro.net
Nikita Tsukanov
звучит как ёбань
ну тогда не декларируй обратную совместимость
источник

н

невидимка 🇧🇾... in pro.net
Nikita Tsukanov
библиотека должна работать со старым клиентским кодом без его перекомпиляции
наркоманский вариант

добавить в интерфейсе int Version {get;} и не дергать новые методы если версия слишком старая

дотнет вроде как просто будет кидать MissingMethodException если полезть не туда, но это не точно
источник

NT

Nikita Tsukanov in pro.net
хммммм
источник

NT

Nikita Tsukanov in pro.net
источник

NT

Nikita Tsukanov in pro.net
источник

IC

Ilya Chernoudov in pro.net
Nikita Tsukanov
и ничем концептуально не отличается от IFoo, IFoo2, IFoo3
цифр меньше и у тебя идёт группировка по версии всех интерфейсов,а не одного. то есть если у тебя много интерфейсов
источник

IC

Ilya Chernoudov in pro.net
невидимка 🇧🇾
наркоманский вариант

добавить в интерфейсе int Version {get;} и не дергать новые методы если версия слишком старая

дотнет вроде как просто будет кидать MissingMethodException если полезть не туда, но это не точно
не будет работать без перекомпиляции
источник

н

невидимка 🇧🇾... in pro.net
Ilya Chernoudov
не будет работать без перекомпиляции
как раз таки будет
источник