Я использую абстрактный заводской шаблон. Мне нужно вызвать абстрактный метод, который называется HelperClass
.
Например: у меня есть два абстрактных производных класса. Я создаю ClassA
, затем ClassA
вызывает метод TakeAction
. TakeAction
необходимо создать другой метод, который использует HelperClass
и callclass the method
SolveProblem`.
Вот мой вопрос: как я могу снова вызвать метод ClassA
в HelperClass
? Потому что SolveProblem имеет некоторую логику и будет решать возвращаться или нет.
class Program {
static void Main(string[] args) {
var classA = new ClassA();
classA.StartOperation();
}
}
public abstract class ClassAbstract {
public abstract void StartOperation();
public void TakeAction() {
var helper = new HelperClass();
helper.SolveProblem(DayOfWeek.Sunday);
}
public abstract void WeekDayOperation();
public abstract void WeekEndOperation();
}
public class ClassA : ClassAbstract {
public override void StartOperation() {
TakeAction();
}
public override void WeekDayOperation() {
}
public override void WeekEndOperation() {
throw new NotImplementedException();
}
}
public class ClassB : ClassAbstract {
public override void StartOperation() {
TakeAction();
}
public override void WeekDayOperation() {
}
public override void WeekEndOperation() {
throw new NotImplementedException();
}
}
public class HelperClass {
public void SolveProblem(DayOfWeek day) {
//Problem solved. I need to call "CallThisMethod" who called this helper class
//How to I Call
switch(day) {
case DayOfWeek.Sunday:
case DayOfWeek.Saturday:
ClassA.WeekEndOperation();
break;
case DayOfWeek.Friday:
FridayOperations();
break;
default:
ClassA.WeekDayOperation();
break;
}
}
public void FridayOperations() {
}
}