[英]How to run a property's set without changing its value?
我试图使用属性来启用或禁用属性的值更改时按钮。
例如:
string test
{
get
{
return xmlValue; // Reads a value from an XML file
}
set
{
if (xmlValue == null)
{
button1.Enabled = false;
}
else
{
button1.Enabled = true;
}
xmlValue = value; // Writes the value to an XML file
}
}
现在这个工作正常,除了在启动时。 在调用set
之前,始终会启用该按钮。
我试过这个:
test = test;
它似乎工作正常。 但这是正确的方法吗?
首先,我会先做突变:
xmlValue = value; // Writes the value to an XML file
if (xmlValue == null)
{
button1.Enabled = false;
}
else
{
button1.Enabled = true;
}
无论如何,我会执行以下操作之一来初始化状态:
在构造函数中,写test = null
即使它已经处于该状态,至少你是显式初始化它而不是将它分配给它自己。
只需在designer / XAML中将button1.Enabled
设置为false即可。 初始属性值应反映程序的正确初始状态。
您发布的作业将起作用,但读取不好或具有惯用意义,所以我会避免它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.