私は現在、次のものを持っています:
ConcurrentDictionary<ulong, MyEventHandler> eventHandlers;
クラスの数は不定です:
class MyClass1
{
public const ulong MyKey = 0;
...
}
class MyClass2
{
public const ulong MyKey = 1;
...
}
...等...
私の辞書は、クラスのタイプに対応するイベント ハンドラーを保持することです。現在、MyKey
メンバーを辞書のキーとして使用していますが、これは正常に機能します。
ただし、他のクラスが現在および将来開発される場合、開発者にキーを持たなければならないことを心配させたくありません。
以下の処理がどれだけ遅いか (もしあったとしても):
ConcurrentDictionary<Type, MyEventHandler> eventHandlers;
次に、typeof
演算子を使用して Type を取得し、辞書にインデックス付けしますか?
そうすれば、鍵について心配する必要はありません。
ディクショナリのエントリ数が 100 を超える可能性は低いですが、typeof
が呼び出され、ディクショナリは 1 秒あたり何千回もアクセスされるため、速度については非常に気になります。