C# 中是否有办法保证每个子类构造函数都会自动调用超类的方法?
具体来说,我正在寻找一种仅将代码添加到超类的解决方案,而不是“基础(参数)”
保证它的唯一方法是在基类的构造函数中进行调用。由于所有子类都必须调用基类的构造函数,因此您感兴趣的方法也将被调用:
class BaseClass {
public void MethodOfInterest() {
}
// By declaring a constructor explicitly, the default "0 argument"
// constructor is not automatically created for this type.
public BaseClass(string p) {
MethodOfInterest();
}
}
class DerivedClass : BaseClass {
// MethodOfInterest will be called as part
// of calling the DerivedClass constructor
public DerivedCLass(string p) : base(p) {
}
}