EN JP CN

CS.UNCHECKED.LOOPITER.CAST

CS.UNCHECKED.LOOPITER.CAST

この警告は、タイプ Object を持つ 1 つのオブジェクトが、データを失ったかプログラム障害が発生した可能性がある別のオブジェクトにキャストされるループ反復子で報告されます。

脆弱性とリスク

データが失われるか、プログラムが失敗する可能性があります。

例 1

1  using System.Collections;
2  class Boo {
3     public int a;
4  }
5  class ForEachTest {
6      static void Main(string[] args) {
7          ArrayList o = new ArrayList();
8          foreach (Boo i in o) {}
9      }
10 }

クラス ArrayList のオブジェクトは 19 行目で宣言されます。次に、20 行目のループ反復子で Boo にキャストできますが、これは無効です。