title: How did C#'s lack of multiple inheritance lead to the need for interfaces?
body: <p>In <a href="https://rads.stackoverflow.com/amzn/click/com/0321741765" rel="noreferrer" rel="nofollow noreferrer">The C# Programming Language</a> Krzysztof Cwalina states in an annotation:</p>
  
  <blockquote>
    <p>we explicitly decided not to add support for multiple inheritance
    [...] the lack of multiple inheritance forced us to add the concept of
    interfaces, which in turn are responsible for problems with the
    evolution of the framework, deeper inheritance hierarchies, and many
    other problems.</p>
  </blockquote>
  
  <p>Interfaces are a core concept to OO programming languages.  I don't follow the meaning of "forced us to add the concept of interfaces"</p>
  
  <p>Does Krzysztof mean that certain design decisions had to be made regarding the use of interfaces where otherwise mulitple inheritance would be used?  Or, does he mean that <code>interface</code>'s were introduced to C# because of a lack of multiple inheritance? Can you provide an example?</p>