gpt4 book ai didi

c# - 如何在不更改属性值的情况下运行属性集?

转载 作者:太空宇宙 更新时间:2023-11-03 23:46:49 25 4
gpt4 key购买 nike

我正在尝试使用属性在属性值更改时启用或禁用按钮。

例如:

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;
}

无论如何,我会执行以下操作之一来初始化状态:

  1. 在构造函数中,编写 test = null 即使它已经处于那个状态,至少你明确地初始化了它而不是将它分配给它自己。

    <
  2. 只需在设计器/XAML 中将 button1.Enabled 设置为 false。初始属性值应反射(reflect)程序的正确初始状态。

您发布的作业会奏效,但读起来不太好,或者不合常理,所以我会避免使用它。

关于c# - 如何在不更改属性值的情况下运行属性集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27363889/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com