投稿者 とくま  (社会人) 投稿日時 2024/4/24 11:54:43
変数のスコープの話は、ほとんどの入門本で最初の10ページ以内には書いてあるような基本ですが、
改めて見なおすと、VB中学校のサンプルでは、最初のうちは一つの関数内に収まる処理で済ましているんですね。
使われ始めるのはこの辺。
https://www.umayadia.com/CSStandard/s014BoundBall1.htm#A2_2
4.変数のスコープ
4-2.変数の適用範囲
まで読み進めて下さい。

関数の外側で宣言します。

    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        public  class class1
        {
            private string con;
            public string? CON
            {
                get { return this.con; }
                set { this.con = value; }
            }
        }

        private class1 test = null;

        private void button1_Click(object sender, EventArgs e)
        {
            if (this.test == null)
            {
                this.test = new class1();
                this.test.CON = "2";
            }
        }

        private void button2_Click(object sender, EventArgs e)
        {
            if (this.test == null)
            {
                MessageBox.Show("まだ初期化されていません");
            }
            else
            {
                string value = this.test.CON;
            }
        }
    }