C#:类型或命名空间名称';类别';找不到(是否缺少用于程序集引用的using指令?)
错误部分是实体 我创建实体类,并尝试在世界级中创建实体对象C#:类型或命名空间名称';类别';找不到(是否缺少用于程序集引用的using指令?),c#,object,C#,Object,错误部分是实体 我创建实体类,并尝试在世界级中创建实体对象 据我所知,它应该会起作用。我只是试着像其他C#程序员一样创建对象。但是,我的编译器似乎找不到实体定义。类在默认情况下不是公共的,因此库存比返回其实例的属性更难访问 要么将实体更改为内部(这样它及其属性将与库存存在于同一范围内),要么将库存公开 (更改代码段为我编译)请发布stacktrace,上面的类是否在同一命名空间中?这是一个编译器错误,因此不会有堆栈跟踪。是否确实需要在类实体之前公开?您正在处理的不是Java。所有类都是公共的。@
据我所知,它应该会起作用。我只是试着像其他C#程序员一样创建对象。但是,我的编译器似乎找不到实体定义。类在默认情况下不是公共的,因此
库存
比返回其实例的属性更难访问
要么将实体
更改为内部(这样它及其属性将与库存
存在于同一范围内),要么将库存
公开
(更改代码段为我编译)请发布stacktrace,上面的类是否在同一命名空间中?这是一个编译器错误,因此不会有堆栈跟踪。是否确实需要在类实体之前公开?您正在处理的不是Java。所有类都是公共的。@Gajet,不,在C#中,在命名空间作用域中声明的类默认为内部访问。@Alex:您能告诉我们确切的错误消息吗?另外,
World
和Entity
都在同一命名空间中吗?+1问题不是Entity
很好,而是存在一些奇怪的可访问性问题。问题是,实体
不会编译,因此无法引用。
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; }
}