EN JP CN

CS.UNCHECKED.CAST

CS.UNCHECKED.CAST

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

脆弱性とリスク

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

例 1

1                  using System;
2                  public class A {
3                     public int a;
4                  }
5                  public class ClassCastTests {
6                      public void foo() {
7                          A a;
8                          Object o = new object();
9                          a = (A)o;
10                     }
11                 }

クラス Object のオブジェクト o とクラス A のオブジェクト a は 5 ~ 6 行目で宣言されます。7 行目で、Object は A にキャストされますが、これは無効です。