从另一个 class 调用方法 - Winforms C#

Calling method from another class - Winforms C#

我正在尝试类似下面的操作,但在任何 formDesign 命令(例如 messageBox、dataGridView 等)下都出现红线

为了整洁起见,我想将方法​​的主体放在一个单独的 .cs 页面中,然后从 mainForm.cs

中调用它们

这是调用方法的错误方式吗

mainForm.cs

namespace App{
      public partial class mainForm : Form{
             private void saveCSVbutton_Click(object sender, EventArgs e){
                className.method();
             }
      }
}
class.cs

namespace App{
      class className{
              private void method(){MessageBox.Show("No Record To Export", "Info");}
      }
}

如果您只想将一些代码放入函数中,您应该像这样声明函数

public static class MyClass{
      public static void MyMethod(){...}
}

如果您只需要同一项目中的方法,您可以将 public 替换为 internal

如果方法只依赖于给定的参数,静态方法是合适的,如果它需要保持状态你需要删除static,在你的class中创建一个对象窗体,并使用该对象调用方法。

如果你想分离应用程序的不同层,我建议你使用像 MVVM 这样的设计模式。这样,您将拥有 类 来执行应用程序的功能,而其他 类 与数据库等一起工作。