2012-04-22 27 views
0
class World 
{ 
    bool _playerHasWonGame = false; 
    public void Update() 
    { 
     Entity player = FindEntity("Player"); //ERROR: The type or namespace name 'Entity' could not be found(are you missing a using directive for an assembly reference?) 
    } 

    private Entity FindEntity(string p) //Same ERROR 
    { 
     throw new NotImplementedException(); 
    } 
} 



class Inventory 
{ 
    public bool Contains(Entity entity) 
    { 
     return false; 
    } 
} 

public class Entity 
{ 
    public Inventory Inventory { get; set; } 
} 

エラー部分はエンティティです。C#:型または名前空間の名前 'class'が見つかりませんでした(アセンブリ参照のusingディレクティブがありませんか?)

私はEntityクラスを作成し、WorldクラスでEntityオブジェクトを作成しようとします。

私が理解したように、うまくいくはずです。私はちょうど他のC#プログラマーのようにオブジェクトを作ろうとしました。しかし、私のコンパイラがエンティティの定義を見つけることができないように見えます。

+0

上記のクラスは同じ名前空間に入れてください。 – ClassicThunder

+0

これはコンパイラエラーですので、スタックトレースはありません。 –

+0

あなたはクラスEntityの前にpublicが必要ですか?それはあなたが扱っているJavaではありません。すべてのクラスは公開されています。 – Ali1S232

答えて

1

クラスはデフォルトでは公開されていないため、Inventoryはインスタンスを返すプロパティよりアクセスしにくいです。

Entityを内部(したがって、そのプロパティはInventoryと同じスコープに存在する)に変更するか、Inventoryを公開してください。

(いずれかを変更すると、スニペットが私のためにコンパイルされます)

+0

+1問題は「エンティティ」は問題ありませんが、奇妙なアクセシビリティの問題があります。問題は 'Entity'はコンパイルされないため、参照できません。 – doppelgreener

関連する問題

 関連する問題