Laden...

Repository Pattern : Übergabe der Interfaces

Erstellt von Ahrimaan vor 13 Jahren Letzter Beitrag vor 13 Jahren 1.185 Views
A
Ahrimaan Themenstarter:in
350 Beiträge seit 2010
vor 13 Jahren
Repository Pattern : Übergabe der Interfaces

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

N
335 Beiträge seit 2006
vor 13 Jahren

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

49.485 Beiträge seit 2005
vor 13 Jahren

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

A
Ahrimaan Themenstarter:in
350 Beiträge seit 2010
vor 13 Jahren

Hallo NeuroCoder,

genau das zweite Beispiel habe ich gesucht 😃

Danke !