Новые возможности 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