我有以下接口映射 - > IHandler <T>
public interface IHandler<T>
{
void Handle(T myObject);
}
我想有一个HandlersManager
类持有其相应的处理程序对象类型之间的映射,但是我不知道我该如何定义持有这种映射的对象。
例如,我想有是这样的:
typeof(string) --> instance of IHandler<string>
typeof(MyClass) --> instance of IHandler<MyClass>
我有这么最好的事情远是定义为Dictionary<Type, object>
的映射,但在这种情况下,我会投的价值每当我得到它时,我都会去IHandler<T>
。
有没有更好的解决方案或我完全错过了什么?
如果'IHandler'继承了'IHandler',那么你可以有一个'的字典,就像'IEnumerable'一样发生' –
Jodrell
2012-04-03 11:24:50
@Jodrell由于IHandler是一个空接口,作为使用'对象',因为演员仍然是必需的。 – 2012-04-03 11:25:58