【发布时间】:2012-01-24 00:14:09
【问题描述】:
我有一组对象,每个对象都包含一组对象(从下面的代码中可以明显看出)。我想创建一个“处理”方法,删除所有附件,然后删除部分,这样我就可以删除相关文件。这些对象用于不同的地方,所以据我所知,“使用”方法是不合适的。以下失败(可以理解)因为集合已被修改。
// Find files and get names.
foreach (DocumentSection s in this.sections)
{
foreach (EmailAttachment a in s.SectionAttachments)
{
// Get file location, then clear attachment to release file handle.
filesToDelete.Add(a.TempAttachmentFileLoc);
s.SectionAttachments.Remove(a);
a = null;
}
this.sections.Remove(s);
s = null;
}
我这样做的原因是因为我想在使用后删除临时文件(TempAttachmentFileLoc),但它正在使用中,目前无法删除。
【问题讨论】:
-
你没有问任何问题.....你对某件事以及你想如何解决它感到困惑。 :)
-
向后迭代 + 最后删除?或者使用 Clear 方法:stackoverflow.com/questions/308466/…
标签: c# .net dispose filehandle