簡體   English   中英

Windows窗體用戶控件屬性在生成時執行代碼

[英]windows forms user control properties execute code when build

我在C#Windows窗體上有一個用戶控件。 每次構建項目時,都會觸發屬性上的代碼,並顯示消息框。 有人知道為什么嗎?

public string Name 
{
    get
    {
        if(xpto != null) 
        { 
            return mystring;
        }
        else
        {
            MessageBox.Show("message");
            return string.Empty;
        }
    }
}

在我看來,好像沒有在調用屬性之前設置“ xpto”。 只要未設置“ xpto”(或將其設置為null),您的代碼就會運行“ else”分支。

這意味着,在初始化“ xpto”之前(或者您自己將“ xpto”設置為null),代碼中的某些內容正在調用屬性“ Name”。 因此,當調用“名稱”時,“ xpto”將為空,並且顯示消息框。

編輯:另外,如果它在構建過程中發生,可能是因為設計器本身不會設置“ xpto”。 而是使用它關心的屬性,例如“名稱”,“文本”等。因此,當設計人員調用“名稱”時,它沒有事先考慮“ xpto”,因此將“ xpto”設計器使用屬性“名稱”時為null。

暫無
暫無

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

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