次のように宣言された構造体があるとします。
public struct Test
{
public static int Width = 5;
...
public static int[] Value = new int[1]{ 0 };
}
今、私がやりたいのは、これを別の構造体の中から呼び出すことですが、その方法を手がかりにする必要があります。私がやろうとしていることは(私の心の中で)次のようになります:
public struct AnotherStruct
{
public (type of struct) this[int key]
{
get
{
switch(key)
{
case 1:
return (another struct);
default:
return null;
}
}
}
}
私の最終目標は、オブジェクトのインスタンスを作成せずに、次のようなコードを使用することです。
structobject s = new AnotherStruct[5];
したがって、この「ルックアップテーブル」は別のプロジェクトで作成されてビルドされ、メインプロジェクトからdllとして呼び出されます。他の場所でdllをビルドして呼び出しているので、dllを一度メモリにロードして、メインプロジェクトからそのメモリを参照できるようにしたいと思っています。次に、メモリの割り当てられた部分が1つあり、コードはそれを参照するだけで、このルックアップテーブルの個々のインスタンスを作成する必要がなくなります(したがって、メモリの割り当てと新しいインスタンスの保存にかかる時間のオーバーヘッドが回避されます)。私が節約した時間は長期的には非常に有益であるため、これを何らかの形で機能させることができると期待しています。
これがあまり混乱しないことを願っていますが、説明が必要な場合はお知らせください。
編集 これはWebサイトで使用されているため、実際には、すべての接続にわたって存続し、コードが最初にロードされたときに1回作成されるオブジェクトが必要です。同じ考えですが、おそらくそれはより簡単な解決策になりますか?