2010-10-26 8 views
2

Je ne comprends pas comment résoudre ce problème, qu'est-ce que je suis censé changer 'Game' aussi?C# XNA - 'Game' est un 'namespace' mais est utilisé comme un 'type'

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

Répondre

8

Renommer votre espace de noms 'Game' à quelque chose comme 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); 
     } 
    } 
} 
+1

Mais si je fais cela, je reçois cette erreur: Le type ou le nom d'espace de noms 'MyGame' est introuvable (manque-t-il une directive using ou une référence d'assembly?) – mike

+2

@Mike: Vous faites quelque chose de mal. Le code de @ Den est Nothing sur 'MyGame' – abatishchev

2

Vous avez nommé votre espace de noms "Jeu", qui entre en collision avec le type construit XNA, Game. Remplacez Game par Microsoft.Xna.Framework.Gameou renommez votre espace de noms en autre chose.

4

Game est votre espace de noms, tout comme l'erreur le suggère.

namespace Game { 

Votre tentative de passer dans un objet aussi appelé jeu

public Help(Game game) 

Soit vous devez changer votre espace de noms pour être autre chose que votre nom d'objet, ou bien qualifier votre objet « Game » si vous avoir un objet sous un autre espace nommé Game. par exemple

public Help(AnotherNamespace.Game game) 

1

Je pense que votre question est l'espace de noms de jeu comme il est le même que le type d'objet de jeu et le compilateur ne peut pas les différencier. Changez le nom de l'espace de noms.

2

Si vous allez utiliser votre espace de noms Game, puis pour chaque fois que vous voulez utiliser la classe Microsoft.Xna.Framework.Game, vous aurez besoin de spécifier l'espace de noms complet Microsoft.Xna.Framework.

Questions connexes