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 に答える