我正在处理由其他人编写的代码,并且由于我认为与 setter 方法有关的问题而卡住了。下面的代码尝试为一个公共元素分配一个真值,该公共元素的访问由一个 setter 元素控制。
while (true)
{
currentN = currentN.Pass(d);
if (currentN.NID == aimedID)
{
currentN.IsValid = true;
break;
}
}
当我调试代码时,令人难以置信的是,即使在它进入 if 条件的情况下,它也没有将值 true 分配给 currentNode.IsValid 变量。它保持原样(错误)。
getter/setter 方法如下:
public bool IsValid
{
get { return Branches == null || Branches.Length == 0; }
set {}
}
正如我上面所说,我认为这与setter方法有关。如果我没有为 set 部分编写任何内容,则无法为 IsValid 变量赋值。如果我写 set { this.IsValid = value},最终会出现 stackoverflow 错误。为 IsLeaf 赋值不应该这么难。我想我错过了一点,尽管我查看了一些关于 getter/setter 方法的教程。
我应该如何更改 setter 方法以便可以为 IsValid 属性赋值?
谢谢。