我有一个数字列表,每个相同的数字应该完全相同。所以我为每个数字都有静态类,这样如果我改变了类,它所引用的所有数字都是如此。
访问数字的方式是通过包装函数,所以我没有直接引用数组,例如:
Map.GetBlock(x,y).AccessToStaticClassMembers;
那么,我该怎么做呢?
答案 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];
}
}
当然,我在第一次访问时遗漏了诸如线程安全和对象创建之类的事情,让你自己做。