私はこれに対する答えをかなり探しましたが、どこにも見つかりません。「エンジン」アセンブリと「メイン」アセンブリの 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 などのプリミティブの場合。
ここで何が問題なのかわかりません。