Pregunta

Que es AggregateCatalog? ¿Qué significa cuando construyes un new AggregateCatalog()? ¿Qué significa cuando agrega ensamblajes al catálogo, por ejemplo? catalog.Catalogs.Add(new AssemblyCatalog(someAssembly))? Aparte de los ensamblajes, ¿qué puede agregar al catálogo? Cualquier conocimiento general relacionado con esto también sería útil (soy un novato total)

¿Fue útil?

Solución

AggregateCatalog En MEF básicamente le permite recolectar múltiples catálogos de extensión. Cuando usted llama new AggregateCatalog(), Básicamente, está instanciando una nueva colección de catálogo (no necesariamente poblada) que puede contener múltiples instancias de composición de PartCatalog, que puede contener múltiples partes.

Considérelo una clase que lo ayuda a recolectar piezas de múltiples conjuntos.

Los ensamblajes son solo una forma de llevar las partes a la aplicación de llamadas. Puede pasar partes directamente desde el interior del ensamblaje existente.

Para obtener más información sobre los catálogos, recomendaría leer este.

Otros consejos

MEF tiene una pequeña curva de aprendizaje: pase por los documentos en mef.codeplex.com al menos una vez. O prueba screencasts si realmente estás presionado por el tiempo.

La idea es que un catálogo es un diccionario de piezas exportadas (objetos a inyectar) o piezas que necesitan importaciones (que necesitan objetos inyectados). El catálogo se puede poblar de múltiples maneras (por lo tanto, las derivaciones del catálogo de Diff) - Desde un directorio (todo ASM en un Dir) o un ensamblaje específico.

A continuación, puede crear un catálogo compuesto, por ejemplo, desea crear un solo diccionario que contenga todos los objetos exportados de DIRA y desde este ensamblaje específico que se encuentra en DIRB. En este caso, puede crear catálogos individuales y luego un catálogo compuesto que fusiona los dos. Ahora consume este diccionario fusionado en su código para solicitar importaciones/exportaciones.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top