title: This is Sparta, or is it?
body: <p>The following is an interview question. I came up with a solution, but I'm not sure why it works.</p>
  
  <hr>
  
  <p><strong>Question:</strong></p>
  
  <p>Without modifying the <code>Sparta</code> class, write some code that makes <code>MakeItReturnFalse</code> return <code>false</code>.</p>
  
  <pre><code>public class Sparta : Place
  {
      public bool MakeItReturnFalse()
      {
          return this is Sparta;
      }
  }
  </code></pre>
  
  <hr>
  
  <p><strong>My solution: (SPOILER)</strong></p>
  
  <blockquote class="spoiler">
    <p><code>public class Place</code><br>
  <code>{</code><br>
  <code></code> <code></code> <code></code> <code>public interface Sparta { }</code><br>
  <code>}</code></p>
  </blockquote>
  
  <p>But why does <code>Sparta</code> in <code>MakeItReturnFalse()</code> refer to <code>{namespace}.Place.Sparta</code> instead of <code>{namespace}.Sparta</code>?</p>