我在C#中使用form.cs或program.cs吗?

时间:2012-01-15 07:24:13

标签: c# forms

我创建了一个提供打开文件窗口对话框的表单。使用此表单,我想将我打开的文件名传递给main函数,以便使用文件中的数据。我想知道我是否应该在form.cs或program.cs窗口中编码!

2 个答案:

答案 0 :(得分:1)

这真的取决于你想要实现的目标?如果这是一个简单的丢弃程序,任何一个都可以做到,无论哪个最简单!如果这是一个您计划开发超过几个小时且想要正确构建它的程序,答案是既不

需要以支持各种问题的方式构建较大的应用程序:

  • 重复使用 - 即代码可以在不同的上下文中使用。表单中的代码隐藏不可重复使用(除非您使用静态方法 - yuck)
  • 可测试 - 单元测试无法执行表单后面的代码
  • 关注点分离 - 您应该尝试将执行单个特定功能的代码分离到自己的类中,这样可以促进重复使用并启用测试。

我建议您了解Model-View-Presenter或其他一些MVx模式。

答案 1 :(得分:1)

目前还不清楚为什么你有一个Form但是要求OpenFileDialog将选择返回给Main()方法。我猜你根本不需要那种形式。只需在Main方法中直接使用该类。像这样:

    [STAThread]
    static void Main() {
        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(false);
        var dlg = new OpenFileDialog();
        // Set dlg properties
        //...
        if (dlg.ShowDialog() == DialogResult.OK) {
            // Do something with dlg.FileName
            //...
        }
    }