title: What is language interoperability (basic concept) in .NET Framework?
body: <p>I'm reading <a href="https://en.wikipedia.org/wiki/.NET_Framework" rel="nofollow">.NET Framework</a> article in Wikipedia, in the first paragraph describes the general concept of this framework, and it says: </p>
  
  <blockquote>
    <p><em>It includes a large library and provides language interoperability (each language can use code written in other languages) across several programming languages.</em></p>
  </blockquote>
  
  <p>When it declared that .NET provides language interoperability, what is shared: the code or the code functionality?</p>
  
  <p>For example, I have the following simple code:</p>
  
  <pre><code>class Math
  {
     public double Pow( double a, double b)
     {
        return Math.Pow(a,b);
     }
  }
  </code></pre>
  
  <p>Do I have access to the C# code or the instantiation of the Math object?</p>