我已经找了很多答案,并且在任何地方找不到它。我有两个组件:一个'Engine'组件和一个'Main'组件。在引擎中,我有一个包含一些词典的单例管理器。像这样:
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; }
}
}
}
然后在'Main'程序集中,我尝试像这样访问单例:
Marker startMarker = ResourceManager.Instance.Maps[gameInfo.StartingMap].ObjectLayer.markers[gameInfo.MapMarker];
然而,当我编译时,它给了我这个错误:
Engine.ResourceManager'不包含“地图”和“地图”的定义 没有扩展方法'Maps'接受第一个类型的参数 可以找到'Engine.ResourceManager'(你是否错过了使用 指令或程序集引用?)
然而,如果我将'maps'变量公开并通过那里访问它,它就有效。或者,如果数据类型是基元,如int,float,string等。
我不知道这里有什么问题。