0

我有一本字典,我希望密钥能够成为不同的类。现在我正在使用:

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

这可行,但我失去了编译时检查。有没有更好的办法?

编辑:

基本上我想知道是否有一种方法可以在字典中拥有不同的类而不会丢失编译时检查......

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

4

1 回答 1

0

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

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

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

否则,编译器将无济于事。

于 2013-09-15T20:32:56.407 回答