一种解决方案是传递类型为的实例:
ClassAbstract
SolveProblem
。然后可以使用此变量调用该方法。
public void SolveProblem(DayOfWeek day, ClassAbstract c)
{
//Problem solved. I need to call "CallThisMethod" who called this helper class
//How to I Call
switch (day)
{
case DayOfWeek.Sunday:
case DayOfWeek.Saturday:
c.WeekEndOperation();
break;
case DayOfWeek.Friday:
FridayOperations();
break;
default:
c.WeekDayOperation();
break;
}
}
this
)在的基本实现中调用此方法时
TakeAction
在
类摘要
:
public abstract class ClassAbstract
{
public abstract void StartOperation();
public void TakeAction()
{
var helper = new HelperClass();
helper.SolveProblem(DayOfWeek.Sunday, this);
}
通过以下现象
polymorphism
WeekEndOperation
和
WeekDayOperation
班级的
ClassA