 <p>This is just something related to the <strong>debugger</strong>, not the CLR or anything else. In any given scope, there is only one accessible variable or object with specified name, so the debugger does not try to distinguish the same names appearing in different palces.</p> <p>Hovering over a <em>name</em> is equivallent of adding a <em>watch</em> for the varialbe in the debugger's watch window. It doesn't matter where you picked the <em>name</em> from.</p>