내가 내 질문에 명확하게 의사 코드의 다음 조각을 사용 (사용 된 클래스는 중요하지 않다) : 지금은이 코드를 사용하려면개체 속성에 기본값이 있는지 어떻게 알 수 있습니까?
var client = new SmtpClient();
client.Credentials = ...;
. 어떻게 사용하는지 어떻게 알 수 있습니까? 나는이 같은 속성 값을 설정을 시도 할 수 있습니다 : 할당 된 기본 자격 증명 개체가 없기 때문에
client.Credentials.User = "MyUsername";
이 나에게있는 NullReferenceException를 제공해야한다. 아니면이처럼 사용할 수 있습니다
client.Credentials = new Credentials("MyUsername",...);
그러나 올바른 방법을 속성을 초기화하는 것이 같은 DefaultNetworkCredentials에게 자신을 설정 :
client.Credentials = CredentialCache.DefaultNetworkCredentials;
가 어떻게 객체의 속성이있는 경우 알 수 있습니까 문서를 보지 않고 설계시의 기본값 (존재하는 경우)?
개체 속성의 모범 사례/디자인 가이드 라인은 무엇입니까? 속성에는 항상 기본값이 있어야합니까?
정말 설명서를 읽어야합니다. 그러나 기본값을 설정하지 않으면 참조 유형이 null이됩니다. –
@ojr은 확실하게 말할 수 없습니다. 자동 속성의 경우 이는 사실이지만 BCL이 내부적으로 수행하는 작업을 알고있는 사람은 누구나 마찬가지입니다. – usr