C#で並行コレクションを取得する方法、または少なくとも並行列挙子をサポートするコレクションを取得する方法を探しています。現在、反復しているコレクションが変更されたときに取得しています。 InvalidOperationException
コレクションをディープ コピーしてプライベート コピーを操作することもできますが、もっと良い方法があるのではないかと考えています。
コードスニペット:
foreach (String s in (List<String>) callingForm.Invoke(callingForm.delegateGetKillStrings))
{
//do some jazz
}
- 編集 -
私は答えを取りましたが、コレクションに書き込んでいたコードもロックを取得しようとする必要があることを確認する必要があることもわかりました。
private void addKillString(String s)
{
lock (killStrings)
{
killStrings.Add(s);
}
}