Is a call to the following method considered late binding?
<p>1) Assume:</p>

<p>• <code>B1</code> defines methods <code>virtualM()</code> and <code>nonvirtualM()</code>, where former method is virtual while the latter is non-virtual <br>
• <code>B2</code> derives from <code>B1</code> <br>
• <code>B2</code> overrides <code>virtualM()</code> <br>
• <code>B2</code> is defined inside assembly <code>A</code> <br> 
• Application <code>app</code> doesn’t have a reference to assembly A <br></p>

<p>In the following code application <code>app</code> dynamically loads an assembly <code>A</code>, creates an instance of a type <code>B2</code> and calls methods <code>virtualM()</code> and <code>nonvirtualM()</code>:  </p>

<pre><code>Assembly asemb=Assembly.Load(“A”);
Type t= asemb.GetType(“B2”);
B1 a = ( B1 ) Activator.CreateInstance ( “t” );

a.virtualM();
a.nonvirtualM();
</code></pre>

<p>a) Is call to <code>a.virtualM()</code> considered early binding or late binding? </p>

<p>b) I assume a call to <code>a.nonvirtualM()</code> is resolved during compilation time?</p>

<p>2) Does the term late binding refer only to looking up the target method at run time or does it also refer to creating an instance of given type at runtime?</p>

<p>thanx</p>

<p><br></p>

<p>EDIT:</p>

<p>1)</p>

<blockquote>
  <p>-- I assume a call to a.nonvirtualM() is resolved during compilation time?</p>
  
  <ul>
  <li>Yep.</li>
  </ul>
</blockquote>

<p>If we have:</p>

<pre><code>A a = new A();
a.M();
</code></pre>

<p>As far as I know, it is not known at compile time where on the heap (thus at which memory address ) will instance <code>a</code> be created during runtime. 
Now, with early binding the function calls are replaced with memory addresses during compilation process. But how can compiler replace function call with memory address, if it doesn’t know where on the heap will object <code>a</code> be created during runtime ( here I’m assuming the address of method <code>a.M</code> will also be at same memory location as <code>a</code> )? </p>

<p>2)</p>

<blockquote>
  <p>The method slot is determined at compile time</p>
</blockquote>

<p>I assume that by method slot you’re referring to the entry point in V-table?</p>
