当我使用它的孩子时,我不确定如何释放DirectoryEntry对象。我是否需要释放所有的孩子,一个тd,然后释放父级,还是只释放父级?
例如,
using(DirectoryEntry entry = new DirectoryEntry())
{
foreach (DirectoryEntry childEntry in entry.Children)
{
....
}
}这足够了吗?
或者需要额外的代码,比如
using(DirectoryEntry entry = new DirectoryEntry())
{
foreach (DirectoryEntry childEntry in entry.Children)
{
using(childEntry)
{
...
}
}
}发布于 2012-08-23 20:40:17
您必须释放每个枚举的子级。
此外,您应该注意到,每次访问DirectoryEntry.Children的getter方法时,它都会返回新创建的对象。这是令人厌恶的,因为它粗略地违反了MS自己的指导方针(DirectoryEntry.Children 必须是一种方法),但这是事实。
所以:
https://stackoverflow.com/questions/12091398
复制相似问题