私はオブジェクトの集合を持っています。それぞれのオブジェクトの集合は以下のコードから明らかです。私は、すべての添付ファイルを削除し、セクションを削除するので、私は関連するファイルを削除することができます 'dispose'メソッドを作成したいと思います。オブジェクトはさまざまな場所で使用されているので、「使用する」方法は私が見る限り適切ではありません。コレクションは変更されているため、以下のことは(分かりやすく)失敗します。C#で入れ子にされたコレクションを廃棄する
// 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メソッドを使用してください:http://stackoverflow.com/questions/308466/how-to-modify-or-delete-items-from-an-enumerable-collection- while-iterating-thro –