Ich habe die folgende SchnittstelleMapping zwischen T -> IHandler <T>
public interface IHandler<T>
{
void Handle(T myObject);
}
Ich möchte eine HandlersManager
Klasse haben, mit einer Abbildung zwischen Objekttypen mit ihren entsprechenden Handler hält, aber ich bin nicht sicher, wie ich das Objekt definieren soll, das dieses Mapping enthält.
Zum Beispiel, was ich möchte ist, dass wir dieses:
typeof(string) --> instance of IHandler<string>
typeof(MyClass) --> instance of IHandler<MyClass>
Das Beste, was ich so weit gekommen war Dictionary<Type, object>
für die Zuordnung zu definieren, aber in diesem Fall würde ich den Wert werfen zu IHandler<T>
jedes Mal, wenn ich es bekomme.
Gibt es eine bessere Lösung oder etwas, das ich komplett verpasst habe?
Wenn 'IHandler' 'IHandler' geerbt hat, dann könnten Sie ein Wörterbuch von' 'viel wie passiert mit' IEnumerable' –
Jodrell
@Jodrell Da 'IHandler' wäre eine leere Schnittstelle, dies ist das gleiche wie mit 'Objekt', da die Besetzung noch benötigt wird. –