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.
public class JunkFood
{
public void DoSomething()
{
if (this is Pizza) // Noncompliant
{
// ...
} else if (...
}
}