메서드/함수 재정의가 기본 클래스에서 구현 된 파생 클래스의 구현을 다시 정의한다는 것을 알고 있습니다.ASP.NET 용 C#에서 메서드를 재정의 할 때 기본 클래스 구현을 호출해야합니까?
이제 어떻게 나를 혼란 내가 ASP.NET과 같은 CreateChildControls()
에서 클래스를 오버라이드 (override)하는 경우입니다, VS2008 자동 생성 (나는 특별한 이유 무작위로 그것을 집어) : 충분히
protected override void CreateChildControls()
{
base.CreateChildControls();
}
좋은, 기본 구현 그냥 기본 클래스 'CreateChildControls()
을 호출합니다. 내가, 내가 어떻게 base.CreateChildControls()
알 수 없기 때문에, 일부 코드를 실행하려면
그래서 나는이 수행해야합니다
protected override void CreateChildControls()
{
/*My Code Here*/
base.CreateChildControls();
}
또는 어떤 base.CreateChildControls()
모두 무시하고 단지
protected override void CreateChildControls()
{
/*My Code Here*/
}
당신이 관여하지 않는 기본 클래스를 덮어 쓸 수 있다는 것은 정말로 놀라운 일입니다. – Matt
나는 그 자유를 가져야 만한다. 내가 당신 자녀이기 때문에, 당신처럼 모든 것을하고 싶지는 않습니다. 때로는 세상에서 나가서 나만의 방식으로 일해야합니다. 당신이 당신의 구현을 강요한다면 당신은 과보호 부모가 될 것입니다. :) –
내 사용자 지정'Control'에서 재정의 할 때 기본 클래스를 호출한다는 사실부터 시작하여'OnXxxx' 재정의와 관련하여 일반적으로 파생 메서드의 끝 부분에서'base.OnXxxx'를 호출했습니다. 파생 된 메소드의 시작 또는 끝에서'base.CreateChildControls'를 호출할지 여부에 대한 경험 법칙이 있습니까? – superjos