簡體   English   中英

為什么變量觸發器引發異常?

[英]Why the variable trigger throws exception?

我被困在使用觸發器聲明變量。 只要變量的值發生更改並且觸發機制應該更改另一個變量的值,就會觸發此觸發器。

下面的代碼可以正常編譯,但會引發NullReferenceExceptionexception之后的屏幕截圖 )。

文件:Program.cs

using System;
using System.Windows.Forms;

namespace test {
    class Program {
        public static Active active = new Active();
        public static FormMain formMain = new FormMain();

        [STAThread]

        static void Main() {
            Application.Run(formMain);
        }
    }
}

檔案:DataStruct.cs

namespace test {
    public class Active {
        public string UserName {
            get {
                return (Program.formMain.labelUserName.Text);
            }
            set {
                Program.formMain.labelUserName.Text = value;
            }
        }
    }
}

文件FormMain.cs

using System;
using System.Windows.Forms;

namespace test {
    class FormMain : Form {
        public Label labelUserName = new Label();

        public FormMain() {
            this.Controls.Add(labelUserName);
            Program.active.UserName = "User Name";
        }
    }
}

這是因為當您使用FormMain構造函數時,靜態變量Program.formMain尚未初始化,因為您正在創建要初始化Program.formMainFormMain對象。

labelUserName直接更新labelUserName

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM