단순화되면 다음과 같은 코드가 있습니다.
public class Room
{
public Client Client { get; set; }
public long ClientId
{
get
{
return Client == null ? 0 : Client.Id;
}
}
}
public class Client
{
public long Id { get; set; }
}
이제 세 가지 관점이 있습니다.
1) 이것은 Client
속성이 항상 설정되어야 하므로 (예 : null이 아니므로) Client == null
발생하지 않으며 Id 값 0
은 어쨌든 잘못된 ID를 나타냅니다 (코드 작성자의 의견입니다 ;-))
2) 당신은 알고 발신자에 의존 할 수없는 0
거짓에 대한 값 Id
과 경우 Client
속성이 항상 설정해야합니다 당신이 던져해야 exception
의를 get
때 Client
속성이 null 될 일이
3) Client
속성을 항상 설정 해야하는 경우 속성이 null 일 때 반환 Client.Id
하고 코드에서 NullRef
예외를 throw하도록하십시오 Client
.
이 중 가장 올바른 것은 무엇입니까? 아니면 네 번째 가능성이 있습니까?