C#XNA - '游戏'是一个'命名空间',但用于'类型'
问题描述:
我不明白如何解决这个问题,我想改变'游戏'呢?C#XNA - '游戏'是一个'命名空间',但用于'类型'
namespace Game {
public class Help : Microsoft.Xna.Framework.GameComponent
{
public Help(Game game): base(game)
{
// TODO: Construct any child components here
}
public override void Initialize()
{
// TODO: Add your initialization code here
base.Initialize();
}
public override void Update(GameTime gameTime)
{
// TODO: Add your update code here
base.Update(gameTime);
}
}
}
答
命名空间 '游戏' 重命名为类似MikesGame:
namespace MikesGame {
public class Help : Microsoft.Xna.Framework.GameComponent
{
public Help(Game game): base(game)
{
// TODO: Construct any child components here
}
public override void Initialize()
{
// TODO: Add your initialization code here
base.Initialize();
}
public override void Update(GameTime gameTime)
{
// TODO: Add your update code here
base.Update(gameTime);
}
}
}
答
你叫你的名字空间 “游戏”,其与内置的XNA类型,Game
碰撞。将Game
更改为Microsoft.Xna.Framework.Game
或将您的名称空间重命名为其他名称。
答
游戏就是你的命名空间,就像错误所暗示的一样。
namespace Game {
你试图在也被称为游戏
public Help(Game game)
你要么需要改变你的命名空间是其他东西比你的对象名称,或完全如果您符合条件的对象“游戏”的目的在于传递在名为Game的另一个名称空间下有一个对象。例如
public Help(AnotherNamespace.Game game)
答
我认为你的问题是Game命名空间,因为它与Game对象类型相同,编译器无法区分它们。更改名称空间的名称。
答
如果您打算使用您的名称空间Game
,那么对于每次要使用Microsoft.Xna.Framework.Game
类的情况,都需要指定完整的名称空间Microsoft.Xna.Framework
。
但是,如果我这样做,我得到这个错误:无法找到类型或命名空间名称'MyGame'(你是否缺少使用指令或程序集引用?) – mike 2010-10-26 14:13:42
@Mike:你做错了什么。 @ Den的代码与“MyGame”没有任何关系 – abatishchev 2010-10-26 14:16:58