私が欲しいのは、クラスによって参照されるオブジェクトの一意のコレクションまたはセットです。このセットには、特定のクラスのオブジェクトを 1 つだけ含めることができます。考えられる機能の例を次に示します。
class A;
class B;
class C;
A a = new A();
B b = new B();
C c = new C();
UnknownCollection<object> objects;
objects.Add(A, a); // Add(key, value)
objects.Add(B, b);
objects.Add(C, c);
var something = objects[A]; // return a reference to 'a' using class A as a key
これらの線に沿ったものがまだ存在しない場合、合理的なパフォーマンスを備えたものを作成する方法があるでしょうか?