正确调用另一个类的方法?

时间:2018-07-03 21:47:54

标签: c# winforms

看到同伴,我有一个问题,就是我认为我的代码处于循环中

在您回答“ RePoST”之前,我已经访问了所有其他线程,但仍然没有找到解决方法

namespace Triangle_Proportions
{
    public partial class Form1 : Form
    {
        public class Data : Form1
        {
            public static class Variables
            {
                public static int A;
                public static int B;
                public static int C;

                public static int a;
                public static int b;
                public static int c;
            }

            public void Set_Variables()
            {
                Variables.A = label0A.Left;
                Variables.B = label0B.Left;
                Variables.C = label0C.Left;

                Variables.a = label_a.Left;
                Variables.b = label_b.Left;
                Variables.c = label_c.Left;
            }
        }

        public Form1()
        {
            InitializeComponent();
            Data etc = new Data();
            etc.Set_Variables();
        }
    }
}

这部分代码的唯一目标是在Set_Variables();之后调用InitializeComponent();

我知道我可以通过简单地从Variables中“抽出” Set_VariablesData来解决此问题,但我希望两者都留在Data内,因为看起来更容易搜索时将其显示出来。

它没有任何语法错误,但是每次我决定调用Set_Variables();时,程序就永远不会打开

1 个答案:

答案 0 :(得分:8)

您有递归问题。

OK的构造函数中,实例化一个新类,该类也从Form1继承,该类再次调用构造函数。看到问题了吗?

创建非静态版本:

Form1

以及您的表格:

public class Variables
{
    public int A;
    public int B;
}