2010-01-03 2 views
0

Voici la classe:Lorsque je tente de définir un attribut d'une autre classe à l'autre, il ne me permet pas de

namespace TomeOfNewerth_WPF_ 
{ 
    class Hero 
    { 
     public string faction; 
     public string name; 
     public HeroType herotype; 

     public enum HeroType 
     { 
      Agility, 
      Strength, 
      Intelligence 
     } 
    } 
} 

maintenant dans une autre classe, juste pour le test que je suis Tring exemple la classe Hero et définir la propriété herotype, comme ceci:

namespace TomeOfNewerth_WPF_ 
{ 
    class Spell 
    { 
     Hero x = new Hero(); 

     public void lol() 
     { 
      x.herotype = x.; //How can I set it? 
     } 
    } 
} 

la seule raison pour laquelle j'ai créé la propriété herotype d'un Enum était de rendre l'application plus robuste et ne pas compter sur les chaînes de caractères.

Merci pour l'aide.

Répondre

1

x.herotype = HeroType.Agility; est normalement le code pour le définir. Vous devrez déplacer HeroType en dehors de la classe pour que cela fonctionne. Pour ce que cela vaut, cela pourrait être mieux dans un constructeur, et vous devriez chercher à exposer les informations de classe à travers les propriétés au lieu des variables membres publiques.

+0

Je ne peux pas appeler HeroType enum à partir de ma classe de sorts ou de n'importe quelle autre classe d'ailleurs. C'est là que j'ai des problèmes. –

+3

Hero.HeroType.Agility - classe imbriquée –

+0

Merci Aviad. Travaux. –