0

私は番号のリストを持っています、そして同じであるそれぞれの番号はまったく同じように振る舞うべきです。したがって、各番号に静的クラスがあるので、クラスを変更すると、それが参照するすべての番号も変更されます。

数値にアクセスする方法はラッパー関数を介しているため、配列を直接参照していません。例:

Map.GetBlock(x,y).AccessToStaticClassMembers;

だから、私はこれについてどうやって行くのですか?

4

2 に答える 2

1

なぜ静的にするのですか?私が正しく理解していれば、これはいくつかの抽象メソッドのオーバーライドまたはいくつかのインターフェースメソッドの実装のように見えます。

于 2010-12-21T10:27:40.077 に答える
1

何が欲しいのかよくわかりません。ただし、メモリ内のインスタンスが番号ごとに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];
    }
}

もちろん、スレッドセーフや最初のアクセスでのオブジェクトの作成などは、自分で行うために省略しました。

于 2010-12-21T11:26:50.893 に答える