title: Roslyn code analyzers - when should I use "this."?
body: <p>I've always been explicit with my code when using instance members, prefixing them with <code>this.</code> and with static members, prefixing them with the type name.</p>
  
  <p>Roslyn seems not to like this, and politely suggests that you can omit <code>this.</code> and <code>Type.</code> from your code where appropriate...</p>
  
  <p>...so where I would do <strong>this.</strong>.. <em>(no pun intended)</em></p>
  
  <pre><code>public void DoSomethingCool()
  {
      this.CallAwesomeMethod();
      CoolCucumber.DoSomethingLessAewsome();
  }
  </code></pre>
  
  <p>...roslyn suggests I do this...</p>
  
  <pre><code>public void DoSomethingCool()
  {
      CallAwesomeMethod();
      DoSomethingLessAwesome();
  }
  </code></pre>
  
  <p>...however when it comes to using extension methods, it appears that I cannot omit the use of <code>this.</code> for example...</p>
  
  <pre><code>public int GetTotal()
  {
      // This doesn't work    
      return Sum(o =&gt; o.Value);
  
      // This does
      return this.Sum(o =&gt; o.Value);
  }
  </code></pre>
  
  <p><strong>Questions:</strong></p>
  
  <ol>
  <li>Why does Roslyn not seem to like explicit use of <code>this.</code> and <code>Type.</code> ?</li>
  <li>Why do I need to explicitly use <code>this.</code> for extension methods?</li>
  <li>Whilst not strictly part of this question, how do I resolve the discrepancy between Roslyn NOT wanting me to use <code>this.</code> and <code>Type.</code> and StyleCop's analyzers insisting that I use them?</li>
  </ol>