Why is this an issue?
There’s no valid reason to test this
with is
. The only plausible explanation for such a test is that you’re executing
code in a parent class conditionally based on the kind of child class this
is. But code that’s specific to a child class should be
in that child class, not in the parent.
Noncompliant code example
public class JunkFood
{
public void DoSomething()
{
if (this is Pizza) // Noncompliant
{
// ...
} else if (...
}
}