私はICollectionViewによって返された各要素をとり、別のオブジェクトに変換しようとしている次のコードを持っています。foreachループ内でInvalidOperationExceptionを処理する方法yield return?
public IEnumerator GetEnumerator()
{
foreach (TOriginal original in _collectionView)
{
if (!Equals(original, null))
{
yield return GetTranslated(original);
}
else
{
yield return default(TTranslated);
}
}
}
_collectionViewは(これは私のテストのアプリで起こっている)foreachの中に変更された場合、それはInvalidOperationExceptionががスローされますが、VisualStudioのは、「「降伏リターンを文句を言うので、私はのtry/catchでforeachループをラップすることはできません'文はtry/catchブロックに現れませんでした'。
どうすれば例外を処理できますか?
実際に例外を処理する必要がありますか?私はそれを扱うのではなく、それを呼び出し側にバブルさせることが最も明白な動作であると想像しています。 – LukeH
@LukeHそれは良い点です、多分私は間違った問題を見ています – Grokodile