引用数组中的静态类?

时间:2010-12-21 10:23:10

标签: c# arrays static-classes

我有一个数字列表,每个相同的数字应该完全相同。所以我为每个数字都有静态类,这样如果我改变了类,它所引用的所有数字都是如此。

访问数字的方式是通过包装函数,所以我没有直接引用数组,例如:

Map.GetBlock(x,y).AccessToStaticClassMembers;

那么,我该怎么做呢?

2 个答案:

答案 0 :(得分:1)

为什么要让它静止?如果我找到你的话,这看起来更像是一些抽象方法的覆盖或某些接口方法的实现。

答案 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];
    }
}

当然,我在第一次访问时遗漏了诸如线程安全和对象创建之类的事情,让你自己做。