title: When an object calls one of it's own functions, is it a case of closure where the object is passed in as the first variable to the method?
body: <p>I think I understand how closure is implemented in C# and .NET. When the CLR detects that a function will be passed outside its scope and acts on a free variable, it will package the function and the variable into a custom class.</p>
  
  <p>So how is this different from what happens when an <code>object</code> calls one of its own functions? The <code>object</code> itself is passed into the function as the first variable so that if the function needs any of the object's other functions, properties, or fields, it has access to them.</p>
  
  <p>I think I'm missing something here, and would like some sort of explanation of what is going on in both cases: closure, and the case where an object is calling one of its own methods.</p>