我正在学习所有关于C#的知识并且到达了继承部分.所以我先写了下面的基类
class Soldier
{
public int _health = 0;
public int id = 0;
public int level = 0;
public string name = "soldier";
public void Identify(int h, int ID, int lvl, string n)
{
Console.WriteLine("Health: " + h + "\nid: " + ID + "\nLevel: " + lvl + "\nName: " + n);
}
}
Run Code Online (Sandbox Code Playgroud)
在那之后我当然想创建一个简单的SubClass来测试所有内容:
class Knight : Soldier
{
level = 2;
public void Ride(string name)
{
Console.WriteLine(name + " can ride a mount");
}
}
Run Code Online (Sandbox Code Playgroud)
但是当我运行程序时,它给出了一个错误"当前上下文中不存在名称'级别'".
我知道我做错了所以我搜索了一下,找到了一些用户没有问题覆盖属性的情况,就像我做的那样,其他人添加了"基础".在财产之前.但两者都没有奏效.
提前致谢.
这里发生的是你试图在类定义中设置一个类级变量,这是不允许的.您只能在类范围内声明和初始化类变量.要在创建类时设置变量,需要在构造函数内部设置它.
class Knight : Soldier
{
public Knight() : base()
{
base.level = 2;
}
public void Ride(string name)
{
Console.WriteLine(name + " can ride a mount");
}
}
Run Code Online (Sandbox Code Playgroud)