我已经环顾四周寻找答案,但在任何地方都找不到。我有两个程序集:一个“引擎”程序集和一个“主”程序集。在引擎中,我有一个包含一些字典的单例管理器。像这样:
namespace Engine
{
public class ResourceManager
{
protected static ResourceManager rscMngr = new ResourceManager();
private Dictionary<string, WTileMap> maps = new Dictionary<string, WTileMap>();
public Dictionary<string, WTileMap> Maps
{
get { return maps; }
}
public static ResourceManager Instance
{
get { return rscMngr; }
}
}
}
然后在“主”程序集中,我尝试像这样访问单例:
Marker startMarker = ResourceManager.Instance.Maps[gameInfo.StartingMap].ObjectLayer.markers[gameInfo.MapMarker];
但是,当我编译时,它给了我这个错误:
Engine.ResourceManager'不包含'Maps'的定义,并且找不到接受'Engine.ResourceManager'类型的第一个参数的扩展方法'Maps'(您是否缺少 using 指令或程序集引用?)
但是,如果我将“地图”变量公开并通过那里访问它,它就会起作用。或者,如果数据类型是原始数据类型,例如 int、float、string 等。
我不知道这里有什么问题。