Вопрос

Что AggregateCatalog? Что это значит, когда вы строим new AggregateCatalog()? Что это значит, когда вы добавляете сборки в каталог, например, catalog.Catalogs.Add(new AssemblyCatalog(someAssembly))? Помимо узлов, что вы можете добавить в каталог? Любые общие знания, связанные с этим, тоже было бы полезно (я общий новичок)

Это было полезно?

Решение

AggregateCatalog В MEF в основном позволяет собирать несколько каталогов расширения. Когда вы называете new AggregateCatalog(), Вы в основном создаете новую коллекцию каталога (не обязательно заполнено), которые могут содержать несколько экземпляров ComposablePartCatalog, которые могут содержать несколько частей.

Учитывайте его классом, который помогает собирать детали из нескольких наборов.

Сборки - это просто способ нажать детали к вызывающему приложению. Вы можете пропускать части непосредственно изнутри существующей сборки.

Для получения дополнительной информации о каталогах я бы порекомендовал прочитать это.

Другие советы

MEF имеет небольшую кривую обучения - пройти через документы в MEF.codePlex.com по крайней мере один раз. Или попробуйте Screencasts, если вы действительно нажимаете время.

Идея состоит в том, что каталог - это словарь экспортируемых частей (объекты, которые должны быть введены) или части, которые нуждаются в импорте (которые нуждаются в введении объектов) .. Каталог может быть заполнен несколькими способами (следовательно, Дифференциации каталога разных) - из каталога (все ASM в дире) или определенной сборки.

Далее вы можете создать композитный каталог, например, вы хотите создать один словарь, который содержит все экспортированные объекты из DIRA и из этой конкретной сборки, лежащей в DIRB. В этом случае вы можете создавать отдельные каталоги, а затем композитный каталог, который объединяет два. Теперь вы потребляете этот объединенный словарь в вашем коде, чтобы запросить импорт / экспорт.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top