Windows 窗体用户控件属性在生成时执行代码
本文关键字:执行 代码 窗体 用户 控件 属性 Windows | 更新日期: 2023-09-27 18:36:35
我在C# Windows Forms上有一个用户控件。每次生成项目时,都会触发属性上的代码并显示消息框。有人知道为什么吗?
public string Name
{
get
{
if(xpto != null)
{
return mystring;
}
else
{
MessageBox.Show("message");
return string.Empty;
}
}
}
在我看来,在
调用属性之前没有设置"xpto"。只要尚未设置"xpto"(或已设置为 null),您的代码就会运行"else"分支。
这意味着,在初始化"xpto"之前,代码中的某些内容正在调用您的属性"Name"(或者,您自己将"xpto"设置为null)。因此,当调用"名称"时,"xpto"将为空,并且显示消息框。
编辑:此外,如果它是在构建时发生的,那可能是因为设计师不会设置"xpto"本身。相反,它使用它关心的属性,例如"名称"、"文本"等。因此,当设计器调用"Name"时,它事先没有考虑"xpto",当设计器到达属性"Name"时,"xpto"将为null。