从C#GUI中的另一个类调用方法

本文关键字:调用 方法 另一个 C#GUI | 更新日期: 2023-09-27 18:28:10

嗨,我有个小问题。我有一个C#中的GUI和一个名为"methods"的类。方法提供了多种良好的。。。方法。然而,由于某些原因,当我尝试实例化方法类时,我无法在GUI中调用它。我的代码如下:

public partial class Form1 : Form
{
    public Form1()
    {            
        InitializeComponent();
        Methoden m1 = new Methoden();
        Parameter p1 = new Parameter();
        m1.InitializeSensors(p1.ISensor);
    }


    private void button1_Click(object sender, EventArgs e)
    {
        m1. // this does not work
    }  
}

从C#GUI中的另一个类调用方法

您已经在Form1的构造函数中声明了Methoden m1 = new Methoden();,并且Object m1的作用域已结束,因此您无法在构造函数之外访问该对象,您必须使用

 Methoden m1=null;
 public Form1()
    {            
        InitializeComponent();
         m1 = new Methoden();
        Parameter p1 = new Parameter();
        m1.InitializeSensors(p1.ISensor);
    }

根据发布的代码,m1变量在Form1构造函数中声明并初始化。这意味着该变量将只存在于构造函数的范围内,因此,一旦代码执行退出构造函数,m1变量将不存在。

为了解决这个问题,您需要将m1变量的分离移到构造函数的范围之外,如下所示:

public partial class Form1 : Form
 {
    Methoden m1;
    public Form1()
    {            
        InitializeComponent();
        m1 = new Methoden();
        Parameter p1 = new Parameter();
        m1.InitializeSensors(p1.ISensor);
    }


    private void button1_Click(object sender, EventArgs e)
    {
       m1. // this does not work
    }