我有一个知道如何刷新数学组件的类 (MathController)。
该类使用帮助类来根据时间安排确定何时触发刷新。
我想做的是将助手类添加到我的 IoC 容器中。
目前,IoC 创建了 MathController。由于辅助类需要从 MathController 接收一个动作,我不知道如何在不进入循环依赖场景的情况下做到这一点。
这是我作为场景示例创建的示例。
void Main()
{
var mathController = new MathController();
}
class MathController
{
private readonly StateMonitor _stateMonitor;
public MathController()
{
_stateMonitor = new StateMonitor(RefreshMath);
_stateMonitor.Monitor();
}
public void RefreshMath()
{
Debug.WriteLine("Math has been refreshed");
}
}
class StateMonitor
{
private readonly Action _refreshCommand;
public StateMonitor(Action command)
{
_refreshCommand = command;
}
public void Monitor()
{
Debug.WriteLine("Start monitoring");
Thread.Sleep(5000);
Debug.WriteLine("Something happened, we should execute the given command");
_refreshCommand();
}
}