Новые возможности Visual C# 2010

На этой странице перечислены новые и улучшенные возможности Visual C# 2010. Использование всех новых возможностей позволит расширить средства программирования Microsoft Office и просмотра кода, обеспечить поддержку разработки, управляемой тестированием, и добиться многих других улучшений. Дополнительные сведения см. в разделе Важнейшие аспекты продуктов Visual Studio 2010.

Щелкните ссылки в представленных ниже разделах для получения дополнительных сведений о тех или иных возможностях.

Компилятор и язык C# 4.0

Динамическая поддержка

Visual C# 2010 обеспечивает поддержку позднего связывания с динамическими типами посредством впервые появившегося в этой версии типа dynamic. Новый тип позволяет реализовать целый ряд новых сценариев, в том числе упрощенный доступ к API-интерфейсам модели COM, например API-интерфейсам автоматизации Office, к динамическим API-интерфейсам, таким как библиотеки IronPython, и DOM-модели HTML-документов. Дополнительные сведения см. в разделах Использование типа dynamic (Руководство по программированию на C#) и dynamic (Справочник по C#).

Возможности программирования для Office

Благодаря добавлению именованных и дополнительных аргументов, типа dynamic, индексированных свойств и дополнительных модификаторов ref удалось значительно улучшить доступ к COM-интерфейсам, в том числе к интерфейсам API автоматизации Office.

Дополнительные сведения см. в разделах Именованные и необязательные аргументы (Руководство по программированию на C#), Использование типа dynamic (Руководство по программированию на C#), Практическое руководство. Использование индексированных свойств в программировании COM-взаимодействия (Руководство по программированию на C#) и Практическое руководство. Доступ к объектам взаимодействия Office с помощью функций языка Visual C# 2010 (Руководство по программированию на C#).

Поддержка эквивалентности типов

Теперь можно развертывать приложения с внедренными сведениями о типах, а не со сведениями, импортированными из основной сборки взаимодействия. Приложение, содержащее внедренные сведения о типах, может использовать типы из сборки, не ссылаясь на сборку среды выполнения или основную сборку взаимодействия (PIA). Если опубликовано несколько версий сборки среды выполнения, приложение, содержащее внедренные сведения о типах, может работать с несколькими различными версиями без перекомпиляции. Дополнительные сведения см. в разделе /link (параметры компилятора C#). Пример см. в разделе Пошаговое руководство. Внедрение данных о типах из управляемых сборок (C# и Visual Basic).

Ковариация и контрвариация

Ковариация позволяет использовать более производный тип, чем это указано в универсальном параметре, тогда как контрвариация позволяет использовать менее производный тип. Благодаря этому можно осуществлять неявное преобразование классов, реализующих вариантные интерфейсы, и обеспечивать большую гибкость при сопоставлении сигнатур методов с типами вариантных делегатов. Вариантные интерфейсы и делегаты можно создавать с помощью новых ключевых слов языка in и out. В платформе .NET Framework также появилась поддержка вариации для нескольких существующих универсальных интерфейсов и делегатов, в том числе для интерфейса IEnumerable<T> и делегатов Func<TResult> и Action<T>. Дополнительные сведения см. в разделе Ковариация и контравариация (C# и Visual Basic).

Новые параметры командной строки

При указании параметра командной строки /langversion компилятор принимает только синтаксис, допустимый для заданной версии языка C#.

Параметр компилятора /appconfig позволяет приложению C# задать для компилятора местоположение файла конфигурации приложения сборки.

Интегрированная среда разработки Visual C#

В следующих подразделах описываются улучшения в интегрированной среде разработки (IDE) Visual Studio.

Иерархия вызовов

С помощью иерархии вызовов можно переходить по коду путем отображения следующих элементов:

  • всех вызовов выбранного метода, свойства или конструктора или вызовов из этого элемента;

  • всех реализаций члена интерфейса;

  • всех переопределений виртуального или абстрактного члена.

Это позволяет лучше понимать структуру кода и оценивать последствия его изменения. Дополнительные сведения см. в разделе Иерархия вызовов.

Функция "Перейти к"

Функцию Перейти к можно использовать для поиска символа или файла в исходном коде. Можно выполнить поиск ключевых слов, содержащихся в символе, используя "верблюжий" стиль имен и знаки подчеркивания для разделения символа на ключевые слова.

Дополнительные сведения см. в разделе Практическое руководство. Поиск объектов, определений и ссылок (символы).

Выделение ссылок

При щелчке символа в исходном коде в документе выделяются все экземпляры этого символа. Для перемещения к следующему или предыдущему выделенному символу можно использовать сочетание клавиш CTRL+SHIFT+СТРЕЛКА ВНИЗ или CTRL+SHIFT+СТРЕЛКА ВВЕРХ. Дополнительные сведения см. в разделе Практическое руководство. Использование выделения ссылок.

Создание в результате использования

Функция создания в результате использования позволяет использовать классы и члены до их определения. Не покидая текущего расположения в коде, можно создать заглушку для еще не определенного класса, конструктора, метода, свойства, поля или перечисления, которое необходимо использовать. Это снижает до минимума нарушения рабочего процесса.

Функция "Создание в результате использования" поддерживает стили программирования, такие как разработка на основе тестирования. Дополнительные сведения см. в разделах Создание в результате использования и Пошаговое руководство. Основанная на тестировании поддержка с помощью функции "Создание в результате использования".

Режим предложений IntelliSense

Теперь функция IntelliSense поддерживает два режима завершения инструкций: режим завершения и режим предложений. Режим предложений следует применять, когда классы и члены используются до того, как они определены. Дополнительные сведения см. в разделе Список членов.

Live Semantic Errors

В Visual C# 2010 компонент Live Semantic Errors был доработан. Использование подчеркивания волнистой линией для обозначения ошибок и предупреждений при вводе было расширено и теперь распространяется на конструкции, выходящие за пределы тел методов, например типы возвращаемых значений, типы параметров и значения по умолчанию в объявлениях методов.

Примеры приложений

Visual C# 2010 содержит примеры приложений, в которых демонстрируется применение новых возможностей языка C# для упрощения процесса программирования для Office, обеспечения доступа к библиотекам IronPython, создания динамических объектов, разработки и использования ковариантных и контравариантных универсальных методов-делегатов и многого другого. Сведения о примерах языка Visual C# и способах доступа к ним см. в разделе Примеры приложений Visual C#.

См. также

Ссылки

Новые возможности отладчика Visual Studio

Основные понятия

Новые возможности Visual Studio 2010

Новые возможности редактора Visual Studio 2010

Новые возможности .NET Framework 4

Новые возможности ASP.NET 4 и Visual Web Developer

Новые возможности развертывания