title: C# Interfaces. Implicit implementation versus Explicit implementation
body: <p>What are the differences in implementing interfaces <strong>implicitly</strong> and <strong>explicitly</strong> in C#?</p>
  
  <p>When should you use implicit and when should you use explicit?</p>
  
  <p>Are there any pros and/or cons to one or the other?</p>
  
  <hr>
  
  <p>Microsoft's official guidelines (from first edition <a href="https://rads.stackoverflow.com/amzn/click/com/0321246756" rel="noreferrer" rel="nofollow noreferrer">Framework Design Guidelines</a>) states that <strong>using explicit implementations are not recommended</strong>, since it gives the code unexpected behaviour.</p>
  
  <p>I think this guideline is very <strong>valid in a pre-IoC-time</strong>, when you don't pass things around as interfaces.</p>
  
  <p>Could anyone touch on that aspect as well?</p>