[英]C#: How to use a derived class's const variable in base's constructor
提前致谢,
我的情况是我有一个名为Vehicle的抽象类,其中包含:
private List<Tire> m_Tires;
事实是,列表中的轮胎数量是在派生类中确定的,并且在另一个类中有所不同,但是实例化所需的代码是相同的,因此,我非常希望避免代码重复并将该代码放置(在抽象Vehicle类的构造函数中实例化m_Tires )。
我首先想到使用protected abstract void initializeTires();
在派生类中实现,并从Vehicle的构造函数调用。 我在这里看到了不好的编程和容易出错的地方。
因此,简而言之: 是否可以避免此处的代码重复,否则我将不得不与之相处?
您可以创建一个protected
构造函数并将其链接。
如何创建一个:
initializeTires(int numberOfTyres);
在基类中,并在派生类中使用正确的参数进行调用。
@Oded,一个例子是
public abstract class MyAbstract {
private List<Tire> m_Tires;
protected MyAbstract(int count) {
m_Tires = new List<Tire>(count);
}
}
public class MyClass : MyAbstract {
public MyClass(int count) : base(count) { }
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.