Не смотря на то, что MEF и System.Addin вроде бы как служат для одной цели — они разные. Просто разные. У каждого из них есть свои фишки, которых нет у другого…
Копание исходников рефлектором — крайность, к которой лично я прибегаю только в том случае, если уже пересмотрена вся документация, а проблема всё ещё не решена… либо когда адекватной доки просто нет.
Я более, чем уверен, что и вы не смотрите реализацию каждого класса рефлектором.
В MSDN есть косяки… но на фоне общего количества информации — эти косяки занимают ничтожно мало места :)
Если вопрос стоит так, что стоит использовать System.Addin или писать тоже самое, но руками, то тут выбор явно следует сделать в пользу первого. Хотя бы из соображений экономии времени :)
Это либо интерфейсы, либо какой-либо наследуемый(возможно абстрактный) класс.
Так, например, Хост видит Addin только через Хост-представление… хотя фактически работает с объектом адаптером, который перенаправляет запросы к контракту, который в свою очереднь перенаправляет их дальше на сторону расширения.
Стоп :) Я только сейчас понял, что Вы говорите о SharpDevelop :)
Статья совсем не о #develop :) Она о новом полезном инструменте для разработчиков, который включён в библиотеку .NET 3.5 ;)
Почему же не предполагает?) Хост-приложение может быть обычным Stand-alone приложением :) Может так же по-старому цеплять плагины через Reflection или вообще работать без всяких расширений :)
Я более, чем уверен, что и вы не смотрите реализацию каждого класса рефлектором.
В MSDN есть косяки… но на фоне общего количества информации — эти косяки занимают ничтожно мало места :)
Так, например, Хост видит Addin только через Хост-представление… хотя фактически работает с объектом адаптером, который перенаправляет запросы к контракту, который в свою очереднь перенаправляет их дальше на сторону расширения.
Следующая статья многое прояснит.
Статья совсем не о #develop :) Она о новом полезном инструменте для разработчиков, который включён в библиотеку .NET 3.5 ;)