我使用以下伪代码来澄清我的问题(使用的类无关紧要):
var client = new SmtpClient();
client.Credentials = ...;
现在,如果我想使用此代码。我怎么知道如何使用它。我可以尝试像这样设置属性值:
client.Credentials.User = "MyUsername";
这应该给我一个 NullReferenceException 因为没有分配默认凭据对象。或者我可以这样使用它:
client.Credentials = new Credentials("MyUsername",...);
但是初始化属性的正确方法是自己设置 DefaultNetworkCredentials,如下所示:
client.Credentials = CredentialCache.DefaultNetworkCredentials;
我如何知道对象属性在设计时是否具有默认值而不查看文档(如果存在)?
对象属性的最佳实践/设计指南是什么?属性是否应该始终有默认值?