我最近从Java切换到C#,我想知道为什么我无法设置派生类的属性,如下例所示:
public abstract class Vehicle
{
private string name;
public void setName(string name)
{
this.name = name;
}
}
public class Car : Vehicle
{
setName("Car")
}
答案 0 :(得分:2)
您的方法不能直接在类体中调用,必须从另一个方法(例如构造函数)调用。
试试这个:
public abstract class Vehicle
{
private string name;
public string getName()
{
return name;
}
public string setName(string name)
{
this.name = name;
}
}
public class Car : Vehicle
{
public Car()
{
setName("Car");
}
}
答案 1 :(得分:0)
您需要分配调用或其他方法来调用setName。编译器应该如何知道何时执行此方法调用?这样做:
public class Car : Vehicle
{
public string SetCarName()
{
base.setName();
}
}