下面是我用来从Testing类中的doingThing()
调用myMethod()
的编码。但它有错误。
namespace Printing_io
{
public partial class Form1 : Form
{
public class Testing
{
public void myMethod()
{
doingThing(); // error here
}
}
public Form1()
{
InitializeComponent();
}
public void doingThing()
{
}
}
}
如何在doingThing()
中调用函数myMethod()
?
答案 0 :(得分:2)
如果不传入Form1
的实例,就无法做到这一点。您可以通过将表单实例传递给方法,或者在初始化Testing
类时保存表单实例,并将其传递给构造函数来执行此操作:
namespace Printing_io
{
public partial class Form1 : Form
{
public class Testing
{
public void myMethod(Form1 form)
{
form.doingThing(); // error here
}
}
public Form1()
{
InitializeComponent();
}
public void doingThing()
{
}
}
}
答案 1 :(得分:1)
两种方式:
将您的doingThing()函数声明为static:
public static void doingThing()
或
public void myMethod()
{
Form1 f=new Form1()
f.doingThing(); // error here
}
需要实例化非静态方法。而静态方法可以直接调用。