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; }
}

エラー部分はエンティティです。

Entity クラスを作成し、World クラスに Entity オブジェクトを作成してみます。

私が理解したように、それはうまくいくはずです。他の C# プログラマーと同じようにオブジェクトを作成しようとしました。しかし、コンパイラがエンティティ定義を見つけられないようです。

4

1 に答える 1

1

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

内部に変更Entityするか (それとそのプロパティが と同じスコープに存在するようにしますInventory)、またはInventory公開します。

(どちらの変更でもスニペットがコンパイルされます)

于 2012-04-22T19:54:30.827 に答える