2009-07-17 8 views
-1

Quelqu'un peut-il aider avec cela, je ne peux vraiment pas voir ce qui ne va pas.problème de disponibilité de classe statique

J'ai un ensemble de classes dans le même espace de nom et l'ensemble. L'une de ces classes est statique. Comme il est déclaré dans le même espace de nommage et d'assemblage que les autres classes, je m'attendrais à ce qu'il soit accessible à tous.

Cependant, il s'avère qu'il est accessible à tous les bars; ironiquement la seule classe qui a besoin de l'utiliser le plus.

Le nom de la classe n'est tout simplement pas reconnu (n'apparaît pas dans intellisense) dans le contexte de cette classe. Dans toutes les autres classes c'est bien.

Quelqu'un a-t-il des idées?
Ai-je manqué ou mal compris quelque chose ...?

+1

Je pense que vous aurez besoin de nous montrer du code. – LukeH

+0

S'il vous plaît pouvez-vous publier le code source de la classe statique et la classe qui ne peut pas l'utiliser? – Hemant

+0

Vous aimeriez savoir pourquoi cette question a été déclassée un an après sa fermeture ...? – Kildareflare

Répondre

3

Vous avez probablement un membre de cette classe avec le même nom que la classe statique, et ce nom est prioritaire.

Vos options sont une des:

  • Renommez le membre entrant en collision
  • Renommer la classe statique
  • Référence de la classe statique par son espace de nom qualifié
  • Créer un alias à l'aide (illustré ci-dessous) pour donner un autre nom pour y accéder

Code (je dois avoir cette ligne ou il pense que le code est une continuation d'une balle?):

using AliasName = Namespace.StaticClassName; 
+0

Hélas c'était un conflit de noms. J'ai essayé de commenter toutes les méthodes avec un nom contradictoire, mais cela n'a pas aidé. Renommer la classe l'a corrigé et, en fait, aurait dû essayer cela au lieu de commenter de toute façon - beaucoup plus rapidement. Le café du matin avait besoin de moi! – Kildareflare

+0

Bon débogage psychique! –

Questions connexes