C#中带字典的泛型类类型

时间:2013-09-15 20:28:58

标签: c# asp.net-mvc

我有一本字典,我希望关键是能够成为不同的课程。现在我正在使用:

public Dictionary<dynamic,int> CbList = new Dictionary<dynamic,int>();

这有效但我丢失了编译时检查。还有更好的方法吗?

修改

基本上我想知道是否有办法在字典中使用不同的类而不会丢失编译时检查....

关键类是相关的,因为它们具有相同的结构......

1 个答案:

答案 0 :(得分:0)

如果所有关键类都相关,您可以创建一个它们都来自的接口(即使它只是一个标记接口):

public interface IKey {}
public class KeyOne: IKey {...}
public class KeyTwo: IKey {...}

...
    var dict = new Dictionary<IKey, int>();
...

否则,编译器无法提供太多帮助。