The output of an ``++as++`` cast will be null if the input to the cast cannot safely be cast to the desired type. So it makes sense that after such a cast you would null-check the output. But it doesn't make sense to check the input.


== Noncompliant Code Example

----
void DoTheThing(Toy toy) 
{
  Ball ball = toy as Ball;
  if (toy != null) // Noncompliant
  {
    //...
  }
}
----


== Compliant Solution

----
void DoTheThing(Toy toy) 
{
  Ball ball = toy as Ball;
  if (ball != null)
  {
    //...
  }
}
----



ifdef::env-github,rspecator-view[]
'''
== Comments And Links
(visible only on this page)

include::comments-and-links.adoc[]
endif::env-github,rspecator-view[]
