я задаю вопрос, потому что всякий раз, когда я пытаюсь вызвать метод расширения из Немедленное окна в Visual Studio 2010, я получаю следующее сообщение об ошибке:Может Методы расширения вызываются из Immediate Window
System.Collections.Generic.IEnumerable' does not contain a definition for 'ToList' and no extension method 'ToList' accepting a first argument of type 'System.Collections.Generic.IEnumerable' could be found (are you missing a using directive or an assembly reference?)
Если немедленное окно не поддерживает методы расширения, тогда почему, когда я ввожу свою переменную (типа IEnumerable<QueryFilter>
), за которой следует точка, IntelliSense перечисляет все методы расширения?
Нет ничего плохого в том, что я печатаю в окне Command, потому что, если я скопирую и вставляю его в свой файл кода и запускаю, он работает.
С Visual Studio 2012, выполняющим то же самое для одного и того же решения, отлично работает. Если я вернусь к VS2010, проблема не исчезнет.
Можете ли вы дать некоторое объяснение, почему и как Кодовые контракты вызывают эту проблему? – gabe
Никаких объяснений. Протестировал его, установив еще одну машину, проверил, что она работает правильно, а затем установила кодовые контракты, в результате чего возникла проблема. –
Это не просто моя настройка, то же самое происходит и с моим коллегой. Выполнение точно такого же решения в Visual Studio 2012 и выдача команд в окне Immediate отлично работают. Вернитесь к VS2010, и проблема не исчезнет. –