【发布时间】:2011-12-13 20:02:34
【问题描述】:
我有一个关于 Model-View-Controller 上的 C# 实现的问题。我对 C# 还很陌生,所以我希望能得到一些解释。
我正在开发一个 Windows 应用程序。它使用 Visual Studio 构建如下。它使用以下 3 个类。 Program.cs、Controller.cs 和 mainWindow.cs。当应用程序启动时,我想创建一个控制器来创建一个主窗口,然后控制器应该处理在主窗口中输入的所有数据。
Program.cs:
static void main() {
Controller controller = new Controller();
controller.init();
}
Controller.cs
class Controller {
public void init() {
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new mainWindow(this));
}
}
mainWindow.cs
public partial class mainWindow : Form
{
public mainWindow(Controller parent)
{
InitializeComponent();
parent.closeThisForm();
}
}
因此,当我尝试运行此代码时,我收到以下错误: 可访问性不一致:参数类型“...Controller”的可访问性低于方法“abc.mainWindow.mainWindow(abc.Controllers.mainController)”。
我知道这与特权有关,但不明白为什么和什么。
希望任何人都可以帮助我解决这个(看起来很简单)的问题。
【问题讨论】:
-
对于 WinForms,您可能还想研究 MVP。
标签: c# view model controller