3
수퍼 클래스의 메서드가 모든 하위 클래스 생성자에서 자동으로 호출되도록 C#에서 보장 할 수있는 방법이 있습니까? 특히생성자에서 자동으로 수퍼 클래스 메서드 호출
, 나는 단지 슈퍼 클래스에 코드를 추가하는 솔루션을 찾고 있어요 그렇게하지 "기본 (인수)"
수퍼 클래스의 메서드가 모든 하위 클래스 생성자에서 자동으로 호출되도록 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) {
}
}
기본 클래스 생성자에서 가상 메서드를 호출하면 안됩니다 –