我有一个非常奇怪的问题,看起来像是某种编译器错误,但我也觉得这不太可能。
我有两个嵌套类,它们都有类变量。其中之一 ( SpriteList
) 工作得非常好,并完美地初始化了所有变量。当我断点它时,程序在初始化该类时确实会中断。
另一个嵌套类 ( ItemList
) 的行为有点奇怪。其中的类变量没有初始化,当我断点代码时,程序永远不会中断。
这是我的代码:
class Registry
{
public static Dictionary<string, StaticSprite> spriteRegistry = new Dictionary<string, StaticSprite>();
public static Dictionary<string, Item> itemRegistry = new Dictionary<string, Item>();
public static void registerSprite(string name, StaticSprite sprite)
{
spriteRegistry.Add(name, sprite);
Console.WriteLine("Registered Sprite: " + name + "!");
}
public static void registerItem(string name, Item item)
{
itemRegistry.Add(name, item);
Console.WriteLine("Registered Item: " + name + "!");
}
public class ItemList
{
public static Item test = new ItemTest();
}
public class SpriteList
{
public static StaticSprite rock = new SpriteRock();
public static StaticSprite pedestal = new SpritePedestal();
public static StaticSprite item = new SpriteItem();
}
}
我真的不知道这里有什么问题。这两个类都不是在任何地方构建的,这并不重要。当我将 ItemList 中的变量移动到 SpriteList 中时,它运行良好。
我真的不知道这里出了什么问题。