1

私はこれに対する答えをかなり探しましたが、どこにも見つかりません。「エンジン」アセンブリと「メイン」アセンブリの 2 つのアセンブリがあります。エンジンには、いくつかの辞書を含むシングルトン マネージャーがあります。このような:

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 などのプリミティブの場合。

ここで何が問題なのかわかりません。

4

0 に答える 0