我想为将类型映射到该类型的通用列表的字典实现一个包装类。例如:
**Key** **Value**
typeof(InterfaceA), List<InterfaceA>
typeof(InterfaceB), List<InterfaceB>
typeof(MyClass), List<MyClass>
...
然后我想通过使用类型与包装类进行交互。
public void NewEntry<T>()
{
MyDict.Add(typeof(T), new List<T>());
}
public List<T> GetEntry<T>()
{
return MyDict[typeof(T)];
}
public void RemoveEntry<T>()
{
MyDict.Remove(typeof(T));
}
有什么优雅的方法可以做到这一点吗?
编辑:澄清一下,这一点是这样的
GetEntry<MyInterface>()
列表中的项目保证遵循 MyInterface 的合同。每个条目都有一个不同的类型键,每个项目列表都遵循该类型的合同。