다음 코드에서는 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 (이 내 테스트 애플 리케이션에서 어떤 일이 일어나고) 다음은 InvalidOperationException이 던졌습니다, 그러나으로 VisualStudio는 " '수율 수익을 불평 때문에 나는 시도/캐치에서 foreach 루프를 포장 할 수없는 foreach는 동안 변경되는 경우 '문을 try/catch 블록에 표시 할 수 없습니다.'
어떻게 예외를 처리 할 수 있습니까?
실제로 예외를 처리해야합니까? 나는 그것을 처리하지 않고 발신자에게 거품을 내도록 두지 않는 것이 가장 분명한 행동이라고 생각합니다. – LukeH
@LukeH 좋은 지적입니다. 아마도 잘못된 문제를보고있을 것입니다. – Grokodile