다른 사람이 작성한 코드를 사용하고 있으며 setter 메서드와 관련이 있다고 생각되는 문제로 인해 붙어 있습니다. 아래 코드는 액세스가 setter 요소에 의해 제어되는 public 요소에 true 값을 할당하려고 시도합니다.C# Setter가 할당하지 않음
while (true)
{
currentN = currentN.Pass(d);
if (currentN.NID == aimedID)
{
currentN.IsValid = true;
break;
}
}
내가 코드를 디버깅 할 때 나 심지어는 경우 조건을 체결 한 경우에 볼 수 있도록, 그것은 믿을 수 없다, 그것은 currentNode.IsValid 변수에 실제 값을 할당하지 않습니다. 이전과 동일하게 유지됩니다 (거짓).
이 게터/세터 방법은 다음과 같음 :
public bool IsValid
{
get { return Branches == null || Branches.Length == 0; }
set {}
}
제가 위에서 말했듯이, 나는이 setter 메소드 함께 할 수있는 뭔가가 생각합니다. 설정된 부분에 대해 아무 것도 쓰지 않으면 IsValid 변수에 값을 할당 할 수 없습니다. set {this.IsValid = value}을 쓰면 Stackoverflow 오류가 발생합니다. IsLeaf에 값을 할당하는 것이 어렵지 않아야합니다. getter/setter 메서드에 대한 자습서를 확인했지만 요점을 놓치고있는 것 같습니다.
IsValid 속성에 값을 할당 할 수 있도록 설정 메서드를 어떻게 변경해야합니까?
감사합니다.
여기에 게터의 의미를 이해합니까? 어떤 대답도화물 컬트 프로그래밍의 예일 뿐이라는 것을 이해하지 못합니다. 이 문제를 "해결"할 수는 있지만 노드가 분기를 통해 유효하지 않다고 가정하면 다른 문제가 발생합니다. –
@AndreyShchekin 답변을 본 후 정말 이해했습니다. 나는 나머지 부분을 적절하게 재 설계했다. – rooter