Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Repository Pattern : Übergabe der Interfaces
Ahrimaan
myCSharp.de - Member



Dabei seit:
Beiträge: 363
Herkunft: Thorn

Themenstarter:

Repository Pattern : Übergabe der Interfaces

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
NeuroCoder
myCSharp.de - Member



Dabei seit:
Beiträge: 337
Herkunft: NRW

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
herbivore
myCSharp.de - Experte

Avatar #avatar-2627.gif


Dabei seit:
Beiträge: 52329
Herkunft: Berlin

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
Ahrimaan
myCSharp.de - Member



Dabei seit:
Beiträge: 363
Herkunft: Thorn

Themenstarter:

beantworten | zitieren | melden

Hallo NeuroCoder,

genau das zweite Beispiel habe ich gesucht :-)

Danke !
private Nachricht | Beiträge des Benutzers