Domanda

Cos'è AggregateCatalog? Cosa significa quando costruisci a new AggregateCatalog()? Cosa significa quando si aggiungono assemblaggi al catalogo, ad es. catalog.Catalogs.Add(new AssemblyCatalog(someAssembly))? Oltre agli assemblys Cosa puoi aggiungere al catalogo? Anche qualsiasi conoscenza generale relativa a questo sarebbe utile (sono un noob totale)

È stato utile?

Soluzione

AggregateCatalog In MEF fondamentalmente ti consente di raccogliere più cataloghi di estensione. Quando chiami new AggregateCatalog(), stai fondamentalmente istanziando una nuova raccolta di cataloghi (non necessariamente popolata) che può contenere più istanze di composiblepartcatalog, che può contenere più parti.

Consideralo una classe che ti aiuta a raccogliere parti da più set.

Gli assiemi sono solo un modo per spingere le parti all'applicazione chiamante. È possibile passare parti direttamente dall'interno del gruppo esistente.

Per ulteriori informazioni sui cataloghi, consiglierei la lettura questo.

Altri suggerimenti

MEF ha una piccola curva di apprendimento - vai attraverso i documenti di MEF.Codeplex.com Atleast una volta. Oppure prova gli screencast se sei davvero premuto per il tempo.

L'idea è che un catalogo sia un dizionario di parti esportate (oggetti da iniettare) o parti che necessitano di importazioni (che necessitano di oggetti iniettati). Il catalogo può essere popolato in più modi (quindi le derivazioni del catalogo diff) - da una directory (tutto ASM in un dir) o un gruppo specifico.

Successivamente è possibile creare un catalogo composito, ad esempio, si desidera creare un singolo dizionario che contenga tutti gli oggetti esportati da Dira e da questo gruppo specifico che giace in sporce. In questo caso, è possibile creare singoli cataloghi e quindi un catalogo composito che unisce i due. Ora consumi questo dizionario unito nel tuo codice per chiedere importazioni/esportazioni.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top