Проблема с завершением оператора в Visual Studio 2008 SP1

После установки пакета обновления 1 для Visual Studio 2008 автозавершение кода показывает все типы, когда член объекта показывает список параметров. До SP1 в списке параметров отображались только связанные типы.

Взгляните на это изображение в качестве примера: http://img25.imageshack.us/img25/3484/vs2008sp1intellisense.png

У кого еще возникла эта проблема? Решения?

Это происходит на компьютерах с Windows 7 и Windows XP, которые у меня установлены, со всеми установленными пакетами обновлений.

Спасибо, Хавьер Сокес


person jsoques    schedule 10.07.2009    source источник


Ответы (1)


Это не связано с пакетом обновления. Я проверил такое же поведение в RTM-версии Visual Studio 2008.

Здесь вы видите проблему разрешения перегрузки. В конкретном примере вы используете метод MessageBox.Show, который имеет 21 перегрузку.

Без аргументов и только MessageBox.Show (набранный в редакторе неоднозначно относительно того, какую версию вы будете вызывать. Таким образом, вместо того, чтобы показывать определенные типы, он покажет список завершения для всех типов выражений.

Если перегрузка не будет неоднозначной, отобразится список конкретных типов. Например, если вы наберете

MessageBox.Show("foo","bar",

Будет показано только завершение перечисления кнопок.

person JaredPar    schedule 10.07.2009
comment
Такое поведение расстраивает. Я не припомню, чтобы видел такое поведение в VS2005. Спасибо, в любом случае. - person jsoques; 12.07.2009