【问题标题】:Model View Controller implementation in C#C# 中的模型视图控制器实现
【发布时间】: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


【解决方案1】:

我认为您需要将 Controller 类公开

public class Controller

【讨论】:

  • 谢谢大家的回复,我现在真的很傻,只是在看。
  • 别担心,这个确切的错误我已经发生过好几次了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-14
  • 1970-01-01
  • 1970-01-01
  • 2015-01-10
  • 1970-01-01
相关资源
最近更新 更多