Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/266.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# DirectoryEntry对象“;处置;方法卡住_C#_Dispose_Directoryentry - Fatal编程技术网

C# DirectoryEntry对象“;处置;方法卡住

C# DirectoryEntry对象“;处置;方法卡住,c#,dispose,directoryentry,C#,Dispose,Directoryentry,在使用DirectoryEntry对象时,我在代码中发现了一个大问题。调用“Dispose”方法时,程序会卡住。你知道这是什么原因吗 代码如下: foreach (DirectoryEntry oDireEntry in _DirectoryEntries) { oDireEntry.Dispose(); } 任何帮助都将不胜感激。您可以使用通过初始化目录条目列表进行构建吗? 伪代码: using (var _DirectoryEntries = new DirectoryEntri

在使用
DirectoryEntry
对象时,我在代码中发现了一个大问题。调用“Dispose”方法时,程序会卡住。你知道这是什么原因吗

代码如下:

foreach (DirectoryEntry oDireEntry in _DirectoryEntries)
{
     oDireEntry.Dispose();
}

任何帮助都将不胜感激。

您可以使用通过初始化目录条目列表进行构建吗? 伪代码:

using (var _DirectoryEntries = new DirectoryEntries())
{
   // code to add items to list
   // anoy other work with list
}
因此,这样您就不需要使用元素循环来处理它


问候。

您能更好地定义“卡住”吗?它是否抛出任何异常?它是什么类型的应用程序?卡在“调试器永远坐在Dispose方法中”或卡在“条目不被释放”中?在第二种情况下,循环中可能会抛出一个异常,阻止您的代码处理所有条目“卡住”意味着“dispose”调用永远不会结束。这是一个桌面应用程序,可能与此错误有关:调试代码时,在“dispose”调用上设置断点,DirectoryEntry对象的求值失败,并显示“由于上一个函数求值超时而禁用函数求值。您必须继续执行才能重新启用函数求值”消息。这并不是那么简单,因为我将DirectoryEntry对象用作singleton类的成员。我需要在执行重置此singleton对象的特定操作时处理它。