我无法让私有类中的成员从另一个私有类访问

本文关键字:成员 另一个 访问 | 更新日期: 2023-09-27 18:22:25

    {
    public partial class form1 : Form
    {
        public form1()
        {
            InitializeComponent();
        }
        public Button ButtonName { get { return } }
        public static int initFaggleCount;
        private void button1_Click(object sender, EventArgs e)
        {
            int faggleCount = initFaggleCount++;
            string finalCalc = faggleCount.ToString();
            label1.Text = finalCalc;
            /*
            Console.WriteLine(faggleCount);
            Console.ReadLine();*/
        }
        private void button2_Click(object sender, EventArgs e)
        {
            /*TextWriter tw = new StreamWriter("SavedFaggleCount.txt");
            tw.WriteLine();
            tw.Close();*/
            Console.WriteLine(faggleCount);
            Console.ReadLine();
        }
    }
}

我希望可以从按钮 2 访问整数 faggleCount,以便我可以从按钮 2 成功Console.WriteLine(fagleCount);。我是菜鸟,任何帮助都值得赞赏。谢谢!

我无法让私有类中的成员从另一个私有类访问

而不是在方法主体中声明局部变量,而是可以声明实例变量,以便类的所有成员都可以访问它。

public partial class form1 : Form
{
    int faggleCount; //declare instance variable.
    public form1()
    {
        InitializeComponent();
    }
    public Button ButtonName { get { return } }
    public static int initFaggleCount;
    private void button1_Click(object sender, EventArgs e)
    {
        faggleCount = initFaggleCount++; //use instance variable
        string finalCalc = faggleCount.ToString();
        label1.Text = finalCalc;
        /*
        Console.WriteLine(faggleCount);
        Console.ReadLine();*/
    }
    private void button2_Click(object sender, EventArgs e)
    {
        /*TextWriter tw = new StreamWriter("SavedFaggleCount.txt");
        tw.WriteLine();
        tw.Close();*/
        Console.WriteLine(faggleCount); //use instance variable
        Console.ReadLine();
    }
}

在你的代码中,faggleCount 是方法的本地,即只有方法中的代码可以访问它。您需要做的是将变量移动到类级别。喜欢这个:

public class form1 : Form {
    int faggleCount;
    //your other code here
}

如您所见,变量现在位于类中,而不是在方法中。这样,类中的所有方法都可以访问它,甚至内部类也可以访问它!

这个问题在初学者中很常见。理解变量的范围非常困难。简而言之,类中的变量可以在类中访问,方法中的变量可以在方法中访问。