我不确定,当我和它的孩子一起工作时,如何释放DirectoryEntry对象。 我是否需要释放所有孩子aт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)
{
...
}
}
}
答案 0 :(得分:4)
你必须释放每个被列举的孩子。
此外,您应该注意,DirectoryEntry.Children
每次访问其getter时都会返回新创建的对象。这是令人厌恶的,因为它严重违反了MS自己的指南(DirectoryEntry.Children
必须是一种方法),但这是真的。
所以: