title: Correct way to see if the current instance of a superclass is a subclass from within the superclass
body: <p>Say I have a class called <code>SuperClass</code> and a class called <code>SubClass</code>.  <code>SubClass</code> extends from <code>SuperClass</code>.  Inside the definition of <code>SuperClass</code> I have a method that intends to check if <code>this</code> class is an instance of <code>SubClass</code>.</p>
  
  <pre><code>if (this.GetType() == typeof(SubClass))
      log.Info("This SuperClass is a SubClass");
  else
      log.Info("This SuperClass is NOT a SubClass");
  </code></pre>
  
  <p>This works, but I'm always very skeptical when something works correctly (especially on the first try).  I wanted to make sure this was the best way (safest, most readable, correct) to do what I want.</p>