Почему компилятор C # различает эти два случая?

Когда у вас есть какое-то свойство вроде:

using Algebra;

public Algebra.Vector3 Direction
{
    get { return this.direction; }
}

, затем скомпилируйте и позже измените его на:

using Algebra;

public Vector3 Direction
{
    get { return this.direction; }
}

, похоже, что скомпилированный код для двух сборок отличается, что я мог видеть с помощью Reflector .

Почему компилятор различает два кода? Разве во время компиляции не нужно только видеть, есть ли какой-либо неоднозначный тип, а если нет, должен ли скомпилированный код быть одинаковым для обоих? Я предполагаю, что скомпилированный код всегда будет использовать полностью определенные имена для каждого члена.

8
задан Joan Venge 27 January 2011 в 22:35
поделиться