자동 구현 속성 대신 필드와 "일반"속성을 명시 적으로 사용해야합니다.
public class Bob
{
private int value;
public int Value
{
get { return value; }
set { this.value = value; }
}
}
그런 다음 필드 를 out 매개 변수로 전달할 수 있습니다 .
Int32.TryParse("123", out bob.value);
그러나 물론 필드가 비공개이므로 동일한 클래스 내에서만 작동합니다 (그리고 그래야합니다!).
속성은이 작업을 허용하지 않습니다. 당신이 할 수 있는 VB에서도참조로 속성을 전달하거나 out 매개 변수로 사용할 기본적으로 추가 임시 변수가 있습니다.
의 반환 값에 대해 신경 쓰지 않았다면 TryParse
항상 고유 한 도우미 메서드를 작성할 수 있습니다.
static int ParseOrDefault(string text)
{
int tmp;
int.TryParse(text, out tmp);
return tmp;
}
그런 다음 다음을 사용하십시오.
bob.Value = Int32Helper.ParseOrDefault("123");
이렇게하면 여러 위치에서이 작업을 수행해야하는 경우에도 단일 임시 변수를 사용할 수 있습니다.