CS.UNCHECKED.CAST

如果一个类型为 Object 的对象转换为另一个对象,且可能丢失数据,或甚至发生程序故障,这种情况下将报告此警告。

漏洞与风险

可能丢失数据,或程序发生故障。

示例 1

复制
                  using System;
                  public class A {
                     public int a;
                  }
                  public class ClassCastTests {
                      public void foo() {
                          A a;
                          Object o = new object();
                          a = (A)o;
                     }
                 }

在第 7-8 行声明了类 Object 的对象 o 和类 A 的对象 a。然后,在第 9 行,Object 转换为无效的 A。

安全培训

应用程序安全培训材料由 Secure Code Warrior 提供。