1
나는 추상 Work() 메소드로 작업 기본 클래스를 얻었다. 이것은 상속 된 클래스에서 재정의되거나 구현됩니다.모든 파생 클래스에 반복 조건부 검사 적용
내가 달성하고자하는 것은 모든 파생 클래스에 중단 조건을 적용하는 것입니다. 템플릿 메서드 패턴은 내 추상 Work() 클래스에서 발생하도록이 검사가 필요하기 때문에 여기서는 도움이되지 않습니다.
해결 방법은 일이() 가상 제조되지 않을 것입니다,하지만 난 더 이상 그것의 구현 (내가하고 싶은 무엇을) 강요 해요 : 내 목표를 달성하기 위해 어떤 방법
public abstract class First
{
protected virtual void Work()
{
//do stuff
}
}
public class Second : First
{
protected override void Work()
{
base.Work();
}
}
거기를?
그것은 말할 어렵다 : 파생 클래스는 검사가 성공하면 무엇을해야 할 실제 구현을 제공 할 동안 작업을 중단 할 수있는이 방법은 모든 검사는 기본 클래스의
Work
기능을 수행 할 것 당신이 원하는 것은 정확히 무엇이지만, 취소 체크를하는'First'에서'public void Work()'에 대해 그리고 파생 클래스들에서 구현 된'protected abstract void WorkInternal()'을 호출하는 것은 어떨까요? – Blorgbeard