| 

.NET C# Java Javascript Exception

3
Hallo zusammen,

ich habe ein Generisches Repository
public interface IRepository<TEntity> : IDisposable where TEntity : class


Für MEF habe ich nun ein Interface geschrieben für meine Module :
void StartModule<T>(IModuleConfiguration.IModuleConfiguration config,IFileSearcher.IFileSearcher reader,IFileUploader.IFileUploader[] uploader,IGenericRepository.IRepository<T> repo) where T : class


Wie ihr seht übergebe ich der Methode alle möglichen Interfaces.
Bis auf das Repository klappt das auch, denn hier kommt der Knackpunkt : Ich möchte das die Repositories auch Composed werden und vom MEF Host übergeben werden.

Ziel ist es also dem Host nie mehr anfassen zu müssen sondern nur in der Config zu schreiben welches Repository für jenes Modul zuständig ist.

Nun stolper ich aber über dieses Repository :
Ich schreibe also ein Repository für ein Module nenne wir es "KundenRepository"
Dieses Repository hat als WerteTyp die Klasse Kunde (vom EF generiert)

Nur wie sage ich dem Host das meine Liste an Repos unbekannt ist zu dem Zeitpunkt ?
[ImportMany(typeof (IGenericRepository.IRepository<>))] 
private IGenericRepository.IRepository<>[] _repos;

In den <> fehlt also ein Typ......

Was nu ?

Grüße
News:
18.02.2011
Pawel Warmuth 195 6
1 Antwort
2
Hi,

MEF unterstützt keine OpenGenericTypes, so wie Du es gerne hättest.

Vielleicht findest Du hier einen Lösungsansatz:
MEF & Open Generic Types

Why doesn’t MEF support open-generics for exports? Because MEF is not type based.

Open-generic support in MEF Contrib
18.02.2011
KHoffmann 939 6

Stelle deine Plugin-Frage jetzt!