从另一个 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 这样的设计模式。这样,您将拥有 类 来执行应用程序的功能,而其他 类 与数据库等一起工作。
我正在尝试类似下面的操作,但在任何 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 这样的设计模式。这样,您将拥有 类 来执行应用程序的功能,而其他 类 与数据库等一起工作。