2009-12-13 36 views
1

我尝试使用此方法,使我的角色,但我得到的错误: 无障碍不一致:返回type'consoleapplication1.Enemigo”比 方法少入店‘consoleapplication1.poringbuilder.makeporing()’ 了我第一次得到这个错误,我真的不知道该怎么做,我已经尝试了很多不同的方式,但我得到了同样的错误PLZ帮助>。 <C#中不一致的可访问性意味着什么?

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

这是另一个类

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

这是我所有的类

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

和IM使用它的主程序这样

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

我希望即时通讯足够的>。 <我试过让它公开,它没有解决任何问题>。 <

+0

对不起朱丽叶,好像StackOverflow上需要一个更好的源代码控制系统。 – 2009-12-13 01:33:06

+0

btw其JULIO!不是朱丽叶! XD – Makenshi 2009-12-13 01:40:04

+0

不是问题,尤里;) – Juliet 2009-12-13 01:52:35

回答

3

您的MakePoring方法是公开的,而您的Enemigo类不是。

您需要声明Enemigo类作为市民:

public class Enemigo 
+0

哦,等等,我不得不让公众Enemigo和Personaje哦非常感谢你,你真的是一个救星XD – Makenshi 2009-12-13 01:35:38

+1

没有访问修饰符默认为'private'(或'internal'取决于范围)在C#中,它可以被认为是一种简单的安全措施,这样,如果程序员忘记了,那么没有类型或成员会被无意暴露出来(与“public”始终是默认值的Java相反)。 – 2009-12-13 01:46:17

+0

哇,他们会说你可以每天学习新的东西谢谢大家xD – Makenshi 2009-12-13 02:06:16

2

您的职业Enemigo在命名空间中是私有的。你需要声明它为public