【发布时间】:2020-11-21 21:33:09
【问题描述】:
我在 C# 中实现 MVC,控制器有一个属性 View 来调用它的方法。我的问题是,在视图中,当用户按下按钮时,我想通知控制器,换句话说,我需要从视图中访问控制器类的功能。所以我在我的视图中添加了一个属性控制器。现在这行得通,但感觉又错又紧。去这里的路是什么?这是一个示例源代码:
class Controller
{
public void DoSomething() { }
public void SetView (View v)
{
this.view = v;
}
private View view;
}
class View
{
public void SetController(Controller c)
{
this.controller = c;
}
public void OnButtonPress()
{
controller.DoSomething();
}
private Controller controller;
}
【问题讨论】:
-
为单击视图的按钮创建一个事件处理程序或可观察的,以便控制器可以订阅它。这样视图就不需要对控制器有任何依赖
标签: c# model-view-controller dependencies