即时尝试使用此方法制作我的角色,但我收到错误: 不一致的可访问性:返回类型'consoleapplication1.Enemigo'的可访问性低于 方法'consoleapplication1.poringbuilder.makeporing()' 它是第一次我得到这个错误,我真的不知道该怎么做,我尝试了很多不同的方法,但我得到了相同的错误PLZ帮助>。< 命名空间ConsoleApplication1 { 公共静态类PoringBuilder { public static Enemigo MakePoring() { 返回新的Enemigo(15,0,30,15,假,假,“Poring”); } }
这是另一堂课 命名空间ConsoleApplication1 { 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) { } } }
这是我所有班级的家长 命名空间ConsoleApplication1 { 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;
}
}
}
我正在这样的主程序上使用它 列出EnemigosNoob = new List(); EnemigosNoob.Add(PoringBuilder.MakePoring());
我希望我足够精确>。<
答案 0 :(得分:0)
public Poring() : this(/*your default values here*/) {}
另外,对于你的其他构造函数......为什么要覆盖传入的值?
答案 1 :(得分:0)
Poring()是您的默认构造函数。你需要用至少一个无用的身体来声明它:
public Poring()
{
}
如果需要,您可以在正文中执行默认初始化,但最好通过按照Anon的答案链接到另一个构造函数来处理。但是,在任何一种情况下,您都必须使用这两个大括号{ }
来形成一个主体。
答案 2 :(得分:0)
由于你并没有真正为Enemigo类添加任何东西,我会选择工厂方法。子类化通常适用于您想要添加某些内容的行为。
public static class PoringBuilder { public static Enemigo MakePoring() { return new Enemigo(30, 10, 0, false, false, 15, "Poring"); } }
并称之为:
EnemigosNoob.Add(PoringBuilder.MakePoring());