title: var keyword with Activator.CreateInstance?
body: <p>There's been some question where I work about use of the var keyword when casting the result of Activator.CreateInstance to an interface type. As I understand var, the following snippet pairs are pretty much identical between the var version and the explicit type version:</p>
  
  <pre><code>// Direct cast
  var thing = (IThing)Activator.CreateInstance(Type.GetType(thingType));
  IThing thing = (IThing)Activator.CreateInstance(Type.GetType(thingType));
  
  // Casting with as
  var thing = Activator.CreateInstance(Type.GetType(thingType)) as IThing;
  IThing thing = Activator.CreateInstance(Type.GetType(thingType)) as IThing;
  </code></pre>
  
  <p>Are there any subtle differences I'm missing that might change Intellisense or runtime behavior?</p>