2009-12-13 3 views
1

im essayant d'utiliser cette méthode pour faire mes personnages, mais j'obtenir l'erreur: accès inégal: type'consoleapplication1.Enemigo de retour » est moins accesible que la méthode « consoleapplication1.poringbuilder.makeporing() » est la première fois i obtenir cette erreur et je ne sais vraiment pas quoi faire, j'ai essayé beaucoup de façons différentes, mais je reçois la même erreur plz aide>. <Que signifie l'accessibilité incohérente en C#?

namespace ConsoleApplication1 
{ 
    public static class PoringBuilder 
    { 
     public static Enemigo MakePoring() 
     { 
      return new Enemigo(15, 0, 30,15, false, false,"Poring"); 
     } 
    } 

ceci est une autre classe

namespace ConsoleApplication1 
{ 
    class Enemigo:Personaje 
    { 
     public Enemigo(int Damage, int Defensa, int HP,int MP, bool Evade, bool Counter, string Nombre) 
      : base(Damage, Defensa, HP,MP, Evade, Counter, Nombre) 
     { 
     } 
    } 
} 

c'est la mère de toutes mes classes

namespace ConsoleApplication1 
{ 
    class Personaje 
    { 
     public int Damage; 
     public int Defensa; 

     public int HP; 

     public int MP; 
     public bool Evade; 
     public bool Counter; 
     public string Nombre; 
     //public Personaje() { } 
     public Personaje(int Damage, int Defensa, int HP,int MP, bool Evade, bool Counter, string Nombre) 
     { 
      this.Damage = Damage; 
      this.Defensa = Defensa; 
      this.HP = HP; 
      this.MP = MP; 
      this.Evade = Evade; 
      this.Counter = Counter; 
      this.Nombre = Nombre; 
     } 
    } 
} 

et im utiliser sur le programme principal comme celui-ci

List<Enemigo> EnemigosNoob = new List<Enemigo>(); 
EnemigosNoob.Add(PoringBuilder.MakePoring()); 

j'espère im pré cise assez>. < J'ai essayé de le rendre public et de ne rien résoudre>. <

+0

Désolé Juliette, semble comme StackOverflow a besoin d'un meilleur système de contrôle de code source. –

+0

btw son JULIO !! PAS JULIETTE !! XD – Makenshi

+0

Pas un problème, Yuriy;) – Juliet

Répondre

3

Votre méthode MakePoring est public, alors que votre Enemigo classe n'est pas.

Vous devez déclarer la classe Enemigo comme public:

public class Enemigo 
+0

oh, attendez que je devais faire Enemigo publique et Personaje oh merci beaucoup, vous êtes vraiment une bouée de sauvetage XD – Makenshi

+1

Aucun défaut accès modificateur 'à private' (ou' internal' selon la portée) en C#, il pourrait être considéré comme une simple mesure de sécurité afin qu'aucun type ou membre obtient involontairement exposés si le programmeur oublie (contrairement à Java où 'public' est toujours la valeur par défaut). –

+0

WOW ils disent que vous pouvez apprendre quelque chose de nouveau tous les jours merci tout xD – Makenshi

2

Votre classe Enemigo est privée dans l'espace de noms. Vous devez le déclarer comme public.