Ich habe diese Methode eine generische Repository aus einem Wörterbuch zu erhalten:Wie diese Methode neu zu schreiben, eine generische Repository zu bekommen Generika verwenden
public readonly IDictionary<Type, IRepository> _repositories = new Dictionary<Type, IRepository>();
public IRepository GetRepository(Type type)
{
if (this._repositories.ContainsKey(type)) {
return this._repositories[type];
}
return null;
}
Das funktioniert, aber ich mag es mit Generika arbeiten, so habe ich versucht, :
public IRepository<T> GetRepository<T>() where T : class
{
var typeParameterType = typeof(T);
if (this._repositories.ContainsKey(typeParameterType)) {
return this._repositories[typeParameterType];
}
return null;
}
Aber ich erhalte eine Fehlermeldung wie ‚konvertieren nicht implizit Typ IRepository
zu IRepository<T>
können. Eine explizite Konvertierung existiert (fehlt Ihnen ein Cast?)
Weiß jemand, wie man das löst?