C# 将空字符串或null传递给DirectoryEntry构造函数

C# 将空字符串或null传递给DirectoryEntry构造函数,c#,.net,directoryentry,C#,.net,Directoryentry,我今天注意到一件奇怪的事。在我正在进行的一个项目中,我有一些类似的代码: var directoryEntry =new DirectoryEntry( ConfigurationManager.AppSettings["path"], ConfigurationManager.AppSettings["user"], ConfigurationManager.AppSettings["password"] ); 这是类库的一部分。当我从另一个项目中使用这个库时,我忘

我今天注意到一件奇怪的事。在我正在进行的一个项目中,我有一些类似的代码:

var directoryEntry =new DirectoryEntry(
    ConfigurationManager.AppSettings["path"],
    ConfigurationManager.AppSettings["user"], 
    ConfigurationManager.AppSettings["password"]
);
这是类库的一部分。当我从另一个项目中使用这个库时,我忘记在应用程序/站点的.config文件中定义这些键,但它仍然有效

我怀疑这个构造函数的工作原理与PrincipalContext构造函数类似,因为如果传递null,它将使用当前用户的凭据,尽管MSDN文档没有对此做任何说明


有人能确认或否认吗?

此代码示例没有引发异常,但这并不意味着它一定能正常工作。
DirectoryEntry
构造函数不对传递给它的值执行任何类型的身份验证或验证。相反,它只存储这些值,稍后将尝试使用这些值在服务器上进行查询


这个特定的代码不会抛出空字符串或失败,但是任何导致它绑定到服务器的调用都很可能失败

此代码示例没有抛出异常,但这并不意味着它一定能正常工作。
DirectoryEntry
构造函数不对传递给它的值执行任何类型的身份验证或验证。相反,它只存储这些值,稍后将尝试使用这些值在服务器上进行查询

这个特定的代码不会抛出空字符串或失败,但是任何导致它绑定到服务器的调用都很可能失败