私は番号のリストを持っています、そして同じであるそれぞれの番号はまったく同じように振る舞うべきです。したがって、各番号に静的クラスがあるので、クラスを変更すると、それが参照するすべての番号も変更されます。
数値にアクセスする方法はラッパー関数を介しているため、配列を直接参照していません。例:
Map.GetBlock(x,y).AccessToStaticClassMembers;
だから、私はこれについてどうやって行くのですか?
私は番号のリストを持っています、そして同じであるそれぞれの番号はまったく同じように振る舞うべきです。したがって、各番号に静的クラスがあるので、クラスを変更すると、それが参照するすべての番号も変更されます。
数値にアクセスする方法はラッパー関数を介しているため、配列を直接参照していません。例:
Map.GetBlock(x,y).AccessToStaticClassMembers;
だから、私はこれについてどうやって行くのですか?
なぜ静的にするのですか?私が正しく理解していれば、これはいくつかの抽象メソッドのオーバーライドまたはいくつかのインターフェースメソッドの実装のように見えます。
何が欲しいのかよくわかりません。ただし、メモリ内のインスタンスが番号ごとに1つだけであることを確認しようとしているようです。その場合、次のようなものの何が問題になっていますか。
static public class ObjectMapping
{
static Dictionary<int, object> dictionary = new Dictionary<int, object>();
static public object GetObjectForNumber(int x)
{
object o;
if (!dictionary.ContainsKey(x))
{
o = CreateObjectForNumberTheFirstTime(x);
dictionary.Add(x, o);
return o;
}
return dictionary[x];
}
}
もちろん、スレッドセーフや最初のアクセスでのオブジェクトの作成などは、自分で行うために省略しました。