Hallo,
mein generisches Repository hat ein Interface
public interface IRepository<TEntity> : IDisposable where TEntity : class
Für MEF habe ich nun ein Interface IModule
public interface IModule
{
void StartModule(IModuleConfiguration.IModuleConfiguration config,IFileSearcher.IFileSearcher reader,IFileUploader.IFileUploader[] uploader);
string ConfigurationName { get; }
event EventHandler<OnStartEventArgs> OnModuleStarted;
event EventHandler<OnErrorEventArgs> OnModuleError;
event EventHandler<OnEndEventArgs> OnModuleEnd;
event EventHandler<OnMessageEventArgs> OnMessageRecieved;
}
So nun mein Problem : Ich möchte der Methode StartModule ein generisches Repository übergeben.
Da das Interface als Vorlage dient weiß ich noch nicht welche Klasse den Platzhalter einnimmt.
Gibt es dafür eine Lösung ?
Grüße
Hallo Ahrimaan,
suchst du vielleicht einer der beiden Möglichkeiten?
public interface IModule<T> where T : class
{
void StartModule(bla, IRepository<T> repo);
}
Oder
public interface IModule
{
void StartModule<T>(bla, IRepository<T> repo) where T : class;
}
Mfg NeuroCoder
Hallo Ahrimaan,
zum konkreten Problem kann ich nichts sagen, aber generell müssen Typ-Parameter generischer Klassen und Interfaces schon zur Compilezeit bekannt sein.
herbivore