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

Обновлен: Ноябрь 2007

В этом разделе содержатся сведения о новых и дополнительных возможностях в .NET Framework, версия 3.5. 

.NET Compact Framework

В .NET Compact Framework, версия 3.5 расширена поддержка распределенных мобильных приложений за счет использования технологии Windows Communication Foundation (WCF). В этой платформе также добавлены новые языковые средства, такие как LINQ, новые API, созданные по отзывам сообщества, кроме того, в ней улучшены возможности отладки за счет использования обновленных диагностических средств и функций.

Дополнительные сведения об этих новых возможностях и улучшениях см. в разделе Новые возможности платформы .NET Compact Framework версии 3.5.

ASP.NET

.NET Framework 3.5 включает улучшения в определенных областях ASP.NET и Visual Web Developer. Самое значительное усовершенствование — это улучшенная поддержка разработки веб-узлов, построенных на технологии AJAX. В ASP.NET поддерживается разработка серверных AJAX-приложений за счет набора новых серверных элементов управления и API-интерфейсов. AJAX можно включить для существующей страницы ASP.NET 2.0, добавив элементы управления ScriptManager и UpdatePanel, что позволит обновлять страницу без необходимости полного обновления.

ASP.NET также поддерживает разработку клиентских AJAX-приложений за счет новой клиентской библиотеки под названием Microsoft AJAX (библиотека). Microsoft AJAX (библиотека) поддерживает объектно-ориентированную разработку приложений для клиентов, которые не зависят от обозревателя. С помощью классов библиотеки в ECMAScript (JavaScript) можно реализовать различные функции пользовательского интерфейса без обращения к серверу. При разработке приложений можно варьировать степень ориентированности на сервер и на клиент в соответствии с требованиями приложения. Кроме того, Visual Web Developer включает поддержку Microsoft AJAX (библиотека) и улучшенную поддержку технологии IntelliSense для JavaScript.

В ASP.NET и Visual Web Developer теперь поддерживается создание веб-служб, основанных на ASMX и WCF, и прямое использование любой реализации веб-страниц с помощью Microsoft AJAX (библиотека). Кроме того, службы серверных приложений, включая проверку подлинности с помощью форм, управление ролями и профили, теперь предоставляются в виде веб-служб, которые могут быть использованы в WCF-совместимых приложениях, в том числе в клиентских сценариях и клиентах Windows Forms. ASP.NET позволяет всем веб-приложениям совместно использовать эти общие службы приложений.

В числе прочих улучшений в ASP.NET — новый элемент управления данными ListView для отображения данных, новый элемент управления источником данных LinqDataSource, предоставляющий веб-разработчикам язык LINQ через архитектуру элементов управления источниками данных в ASP.NET, новое средство Средство слияния ASP.NET (Aspnet_merge.exe) для слияния предварительно скомпилированных сборок, а также тесная интеграция с IIS 7.0. ListView представляет собой детально настраиваемый элемент управления (с помощью шаблонов и стилей), поддерживающий операции редактирования, вставки и удаления, а также функции сортировки и разбиения по страницам. Возможность разбиения по страницам для ListView обеспечивается новым элементом управления DataPager. Для реализации различных сценариев развертывания и управления можно использовать средство слияния для объединения сборок. Интеграция ASP.NET и IIS 7.0 включает возможность использования служб ASP.NET, таких как проверка подлинности и кэширование, для любого типа содержимого. Она также включает возможность разработки модулей серверных конвейеров в управляемом коде ASP.NET и поддерживает унифицированную настройку модулей и обработчиков.

К другим усовершенствованиям в Visual Web Developer относятся поддержка многозадачности, включение проекта веб-приложений, новое представление конструктора, новые средства разработки каскадных таблиц стилей (CSS) и поддержка языка LINQ для баз данных SQL. Многозадачность позволяет использовать Visual Web Developer для разработки веб-приложений для определенных версий .NET Framework, включая версии 2.0, 3.0 и 3.5. 

Дополнительные сведения см. в разделе Новые возможности ASP.NET и веб-разработки.

Надстройки и расширения среды

Сборка System.AddIn.DLL в .NET Framework 3.5 предоставляет мощную и гибкую поддержку разработчикам расширяемых приложений. В ней представлены новая архитектура и модель, помогающие разработчикам в начальной работе по добавлению расширений в приложение и гарантирующие, что расширения будут работать при изменении базового приложения. Модель предоставляет следующие возможности:

  • Обнаружение

    Класс AddInStore позволяет легко найти и управлять набором надстроек в разных местах на компьютере. Этот класс можно использовать для поиска и получения сведений о надстройках по базовым типам без их загрузки.

  • Активация

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

  • Изоляция.

    В платформе имеется встроенная поддержка доменов приложений и изоляции процессов надстроек. Уровень изоляции для каждой надстройки находится под контролем базового приложения. Система выполняет загрузку доменов приложений и процессов и завершает их работу после окончания выполнения их надстроек.

  • "Песочница"

    Надстройки можно легко настраивать с пользовательским уровнем доверия или уровнем доверия по умолчанию. Поддерживаются наборы разрешений Internet, Intranet, Full Trust и набор разрешений такой же, как у хоста, а также перегрузки, которые позволяют в базовом приложении указать пользовательский набор разрешений.

  • Создание пользовательского интерфейса

    Модель надстроек поддерживает прямое создание элементов управления Windows Presentation Foundation (WPF) для разных доменов приложений. Можно легко включить использование надстроек в пользовательском интерфейсе базового приложения, сохраняя при этом преимущества изоляции, возможности выгрузки, "песочницы" и управление версиями.

  • Управление версиями

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

Дополнительные сведения см. в разделе Надстройки и расширения среды.

Среда CLR

Коллекции

HashSet<T> предоставляет высокопроизводительные операции с множествами в .NET Framework. Множество представляет собой набор элементов, которые не могут повторяться и для которых не определен какой-либо порядок. Дополнительные сведения см. в разделе Тип коллекции HashSet.

Диагностика

Класс EventSchemaTraceListener обеспечивает трассировку сквозных событий, совместимых со схемой. Сквозную трассировку можно использовать для системы, в которой есть разнородные компоненты, которые пересекают границы потоков, класса AppDomain, процессов и компьютеров. Для реализации трассировки через эти границы была определена стандартная схема событий (см. раздел Представление события для получателей события). Эта схема является общей для различных технологий трассировки, включая средства диагностики Windows Vista, такие как средство просмотра событий. Схема также позволяет добавлять пользовательские элементы, совместимые со схемой.

Класс EventSchemaTraceListener настраивается для ведения журнала производительности с неявной поддержкой трассировки без блокировок.

Ввод-вывод и каналы

Каналы обеспечивают связь между любыми процессами, запущенными на одном компьютере, или на любом другом подключенном к сети компьютере с операционной системой Windows. Платформа .NET Framework предоставляет доступ к двум типам каналов: анонимные каналы и именованные каналы. Дополнительные сведения о каналах см. в разделе Каналы.

Сборка мусора

Класс GCSettings имеет новое свойство LatencyMode, которое можно использовать для настройки времени, когда сборщик мусора начинает работать с приложением. Этому свойству следует задать одно из значений нового перечисления GCLatencyMode.

Класс GC имеет новую перегрузку метода Collect(Int32, GCCollectionMode), которую можно использовать для настройки режима принудительной сборки мусора. К примеру, эту перегрузку можно использовать, чтобы определить в сборщике мусора проверку, является ли текущее время оптимальным для освобождения объектов. Эта перегрузка имеет значение из нового перечисления GCCollectionMode.

Отражение и отражательная эмиссия в частичном доверии

Сборки, выполняемые с частичным доверием, теперь могут порождать код и выполнять его. Для порожденного кода, вызывающего только общедоступные типы и методы, не требуется разрешений за исключением разрешений, необходимых для используемых типов и методов. Новый конструктор DynamicMethod(String, Type, array<Type[]) упрощает порождение такого кода.

Когда порожденному коду требуется доступ к закрытым данным, новый конструктор DynamicMethod(String, Type, array<Type[], Boolean) предоставляет ограниченный доступ. Базовое приложение должно предоставить класс ReflectionPermission с новым флагом RestrictedMemberAccess, чтобы включить эту функцию, которая предоставляет порожденному коду возможность доступа к закрытым данным только для типов и методов в сборках с равными или меньшими уровнями доверия. См. раздел Пошаговое руководство. Выпуск кода в сценариях частичного доверия.

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

Потоки

Улучшенная блокировка чтения и записи

Новый класс ReaderWriterLockSlim обеспечивает значительно более высокую производительность, чем ReaderWriterLock, и сравнимую с производительностью оператора lock (SyncLock в Visual Basic). Переходы между состояниями блокировки были упрощены для облегчения программирования и уменьшения вероятности взаимоблокировок. Новый класс поддерживает рекурсию для упрощения переноса из lock и из ReaderWriterLock.

Улучшение производительности ThreadPool

Значительно улучшена производительность диспетчеризация рабочих элементов и задач ввода-вывода в управляемом пуле потоков. Диспетчеризация сейчас выполняется в управляемом коде без перехода в неуправляемый код и с меньшим числом блокировок. Рекомендуется использовать класс ThreadPool, а не реализации пула потоков для конкретных приложений.

Усовершенствования часового пояса

Два новых типа, DateTimeOffset и TimeZoneInfo, улучшают поддержку часовых поясов и облегчают разработку приложений, работающих с датами и временем в разных часовых поясах. Обсуждение использования типов в конкретных ситуациях см. в разделе Выбор между типами DateTime, DateTimeOffset и TimeZoneInfo.

TimeZoneInfo

Новый класс TimeZoneInfo в значительной степени заменяет существующий класс TimeZone. Класс TimeZoneInfo можно использовать для получения любого часового пояса, определенного в реестре, а не только местного часового пояса и универсального синхронизированного времени (UTC). Этот класс также можно использовать для определения особых часовых поясов, для сериализации и десериализации данных об особых часовых поясах пользователя и для преобразования времени между часовыми поясами. Дополнительные сведения о разработке приложений с использованием класса TimeZoneInfo см. в разделе Время и часовые пояса.

DateTimeOffset

Новая структура DateTimeOffset расширяет структуру DateTime для упрощения работы со временем в разных часовых поясах. В структуре DateTimeOffset дата и время хранятся в формате UTC вместе со значением сдвига, указывающим, на сколько время отличается от времени UTC.

Шифрование

Манифест ClickOnce

Существуют новые криптографические классы для проверки и получения сведений о подписях манифестов для приложений ClickOnce. Класс ManifestSignatureInformation получает данные о подписи манифеста при использовании его перегрузок метода VerifySignature. Можно использовать перечисление ManifestKinds для указания манифеста для проверки. Результатом проверки является одно из значений перечисления SignatureVerificationResult. Класс ManifestSignatureInformationCollection предоставляет коллекцию объектов проверенных подписей ManifestSignatureInformation только для чтения. Кроме того, следующие классы предоставляют сведения о конкретных подписях:

  • StrongNameSignatureInformation

    Содержит сведения о строгом имени подписи для манифеста.

  • AuthenticodeSignatureInformation

    Представляет сведения о подписи Authenticode для манифеста.

  • TimestampInformation

    Содержит сведения об отметке времени на подписи Authenticode.

  • TrustStatus

    Предоставляет простой способ проверить, является ли подпись Authenticode достоверной.

Поддержка пакета B

Платформа .NET Framework 3.5 поддерживает набор криптографических алгоритмов пакета B, опубликованных национальным агентством по безопасности (NSA). Документация NSA находится по адресу www.nsa.gov/ia/Industry/crypto_suite_b.cfm.

Включены следующие алгоритмы.

  • Advanced Encryption Standart (AES) с размером ключа шифрования от 128 до 256 битов.

  • Алгоритм SHA (SHA-256 и SHA-384) для хеширования.

  • Elliptic Curve Digital Signature Algorithm (ECDSA) с использованием кривых в 256 бит и в 384 бит для подписи. Этот алгоритм предоставляется в классе ECDsaCng. Он позволяет подписывать закрытым ключом и подтверждать подлинность с помощью открытого ключа.

  • Elliptic Curve Diffie-Hellman (ECDH) с использованием кривых в 256 бит и в 384 бит для обмена ключами и секретного соглашения. Этот алгоритм предоставляется в классе ECDiffieHellmanCng.

Программы-оболочки управляемого кода для сертифицированных по стандартам FIPS реализаций алгоритмов AES, SHA-256 и SHA-384 доступны в новых классах AesCryptoServiceProvider, SHA256CryptoServiceProvider и SHA384CryptoServiceProvider.

Классы криптографии следующего поколения (CNG) предоставляют управляемую реализацию собственного интерфейса Crypto API (CAPI). Центральным в этой группе является класс контейнера ключей CngKey, в котором реализована абстрактная модель хранения и использования ключей CNG. Этот класс позволяет безопасно хранить пару ключей или открытый ключ и ссылаться на него, используя простое строковое имя. В классах ECDsaCng и ECDiffieHellmanCng используются объекты CngKey.

Класс CngKey используется для множества дополнительных операций, включая открытие, создание, удаление и экспорт ключей. Он также предоставляет доступ к базовому дескриптору ключа, используемому при прямом вызове собственных API.

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

Работа в сети

Одноранговая компьютерная сеть

Одноранговая сеть — это сеть без серверов, которая позволяет нескольким сетевым устройствам совместно использовать ресурсы и взаимодействовать напрямую друг с другом. Пространство имен System.Net.PeerToPeer предоставляет набор классов, поддерживающих протокол PNRP, который позволяет обнаруживать другие одноранговые узлы с помощью объектов PeerName, зарегистрированных в одноранговой сети. Протокол PNRP может преобразовывать одноранговые имена в адреса IPv6 или IPv4.

Совместная работа в одноранговой сети

Пространство имен System.Net.PeerToPeer.Collaboration предоставляет набор классов, поддерживающих совместную работу в сети с одноранговой инфраструктурой. Эти классы упрощают процесс, с помощью которого приложения могут:

  • отслеживать наличие узла без сервера;

  • отправлять приглашения участникам;

  • обнаруживать узлы в одной подсети или локальной сети;

  • управлять контактами;

  • взаимодействовать с другими узлами.

Инфраструктура одноранговой совместной работы Майкрософт предоставляет платформу, основанную на одноранговой сети, для совместной работы без серверов. Эта платформа позволяет использовать децентрализованные сетевые приложения, в которых используются совокупные ресурсы компьютеров в подсети или Интернете. Такие приложения можно использовать в таких задачах, как совместное планирование, связь, распределение содержимого или даже для многопользовательских игр.

Улучшение производительности сокетов

Класс Socket был усовершенствован для использования в приложениях, использующих асинхронные сетевые операции ввода-вывода для достижения максимальной производительности. В составе улучшений в пространство имен Socket был добавлен ряд новых классов. Эти классы предоставляют альтернативную асинхронную модель, которая может использоваться специализированными высокопроизводительными приложениями сокетов. Эти усовершенствования были специально разработаны для сетевых серверных приложений, которым нужна высокая производительность.

Windows Communication Foundation

Интеграция WCF и WF — службы автоматизации документооборота

В .NET Framework 3.5 объединены платформы Windows Workflow Foundation (WF) и Windows Communication Foundation (WCF), что позволяет использовать WF как способ создания служб WCF или предоставления существующего рабочего процесса WF в качестве службы. Это позволяет создавать службы, которые можно сохранять, которые могут легко передавать данные в рабочий процесс и получать их из него, и в которых можно реализовывать протоколы уровня приложений. Дополнительные сведения см. в разделе Creating Workflow Services and Durable Services. Примеры кода см. в разделе Workflow Services Samples.

Долговременные службы

В .NET Framework 3.5 также представлена поддержка служб WCF, которые используют персистентную модель WF для сохранения информации о состоянии службы. Эти долговременные службы сохраняют данные о своем состоянии на уровне приложения, поэтому если сеанс обрывается и позже создается заново, данные о состоянии этой службы можно загрузить из хранилища. Дополнительные сведения см. в разделе Creating Workflow Services and Durable Services. Пример с исходным кодом см. в разделе Durable Service Sample.

Модель веб-программирования WCF

Модель веб-программирования WCF позволяет разработчикам с помощью WCF построить службы в стиле веб-служб. Модель веб-программирования включает богатые возможности обработки URI, поддержку всех команд HTTP, включая GET, и простую модель программирования для работы с широким спектром форматов сообщений (включая XML, JSON и непрозрачные двоичные потоки). Дополнительные сведения см. в разделе Web Programming Model. Примеры кода см. в разделе Web Programming Model Samples.

Каналы WCF

WCF теперь включает объектную модель со строгой типизацией для обработки RSS-каналов, включая форматы Atom 1.0 и RSS 2.0. Дополнительные сведения см. в разделе WCF Syndication. Примеры кода см. в разделе Syndication Samples.

WCF и частичное доверие

В .NET Framework 3.5 приложения, выполняемые с ограниченными разрешениями, могут использовать ограниченный набор функций WCF. Серверные приложения, выполняемые с разрешениями уровня доверия ASP.NET Medium, могут использовать модель служб WCF для создания основных служб HTTP. Клиентские приложения, выполняемые с разрешениями зоны интернета (например, обозреватель приложений XAML или приложения без подписи, развернутые с помощью ClickOnce), могут использовать службы HTTP с помощью WCF-прокси. Кроме того, функции модели веб-программирования WCF (включая AJAX и RSS-каналы) доступны для использования приложениям с ограниченным уровнем доверия. Дополнительные сведения см. в разделе Partial Trust. Примеры кода см. в разделе Partial Trust WCF Samples.

Интеграция WCF и ASP.NET AJAX

Интеграция WCF с возможностями AJAX в ASP.NET обеспечивает модель сквозного программирования для создания веб-приложений, которые могут использовать службы WCF. В веб-приложениях, использующих AJAX, клиент (например, обозреватель в веб-приложении) обменивается небольшими объемами данных с сервером с помощью асинхронных запросов. Интеграция с возможностями AJAX в ASP.NET предоставляет простой способ создания веб-служб WCF, доступ к которым можно иметь с помощью клиента JavaScript. Дополнительные сведения см. в разделе AJAX Integration and JSON Support. Примеры кода см. в разделе AJAX Samples.

Взаимодействие веб-служб

В .NET Framework 3.5 корпорация Майкрософт продолжает демонстрировать свою приверженность к взаимодействию и открытым стандартам и представляет поддержку новых безопасных и надежных стандартов веб-служб:

Реализация этих протоколов становится доступна с использованием новых стандартных привязок, <ws2007HttpBinding> и <ws2007FederationHttpBinding>, которые описаны в руководстве Web Services Protocols Interoperability Guide. Пример с исходным кодом см. в разделе WS Binding Samples.

Windows Presentation Foundation

В .NET Framework 3.5 Windows Presentation Foundation содержит изменения и усовершенствования в самых разных областях, включая управление версиями, модель приложений, связывание данных, элементы управления, документы, примечания и трехмерные элементы пользовательского интерфейса.

Дополнительные сведения об этих новых возможностях и улучшениях см. в разделе Новые возможности в Windows Presentation Foundation 3.5.

Windows Workflow Foundation

Интеграция WCF и WF — службы автоматизации документооборота

В .NET Framework 3.5 объединены платформы Windows Workflow Foundation (WF) и Communication Foundation (WF), что позволяет использовать WF как способ создания служб WCF или предоставления существующего рабочего процесса WF в качестве службы. Это позволяет создавать службы, которые можно сохранять, которые могут легко передавать данные в рабочий процесс и получать их из него, и в которых можно реализовывать протоколы уровня приложений. Дополнительные сведения см. в разделе Creating Workflow Services and Durable Services. Примеры кода см. в разделе Workflow Services Samples (WF).

Правила

Обработчик правил WF теперь поддерживает методы расширения, перегрузку операторов и использование новых операторов в правилах. Дополнительные сведения см. в разделе Rule Changes in .NET Framework 3.5. Примеры кода см. в разделе Rules and Conditions Samples.

Windows Forms

Усовершенствования ClickOnce

В ClickOnce представлены некоторые улучшения. К ним относятся развертывание из нескольких мест и подготовка для сторонних организаций. Дополнительные сведения см. в разделах Развертывание приложений ClickOnce без подписания заново и Создание приложений ClickOnce для развертывания другими.

Средство Mage.exe, которое иногда используется вместе с ClickOnce, в .NET Framework 3.5 было обновлено. Дополнительные сведения см. в разделе Средство создания и редактирования манифеста (Mage.exe).

Проверка подлинности, роли и службы настроек

Службы клиентского приложения являются новой возможностью в .NET Framework 3.5 и позволяют приложениям Windows (включая приложения Windows Forms и Windows Presentation Foundation) легко получать доступ к службам имен входа, ролей и профиля ASP.NET. Эти службы позволяют проверять подлинность пользователей, получать роли пользователей и параметры приложений с общего сервера.

Можно включить службы клиентского приложения, указав и настроив поставщики услуг клиента в файле конфигурации приложения или в конструкторе проекта Visual Studio. Эти поставщики услуг включаются в модель расширения веб-среды и предоставляют доступ к веб-службам с помощью существующих в .NET Framework API-интерфейсов имени входа, ролей и параметров. Службы клиентских приложений также поддерживают периодическое подключение благодаря хранению и извлечению сведений о пользователе из локального кэша данных, когда приложение находится в автономном режиме.

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

Поддержка Windows Vista

Существующие приложения Windows Forms без проблем работают в Windows Vista, и они по возможности обновляются, чтобы иметь одинаковый вид с приложениями, разработанными специально для Windows Vista. Общие диалоговые окна для файлов автоматически обновляются до версии Windows Vista. В .NET Framework 3.5 также поддерживается значок щита службы контроля учетных записей. Дополнительные сведения см. в разделах Класс FileDialog и Shield.

Поддержка WPF

Windows Forms можно использовать для размещения элементов управления Windows Presentation Foundation (WPF) и содержимого вместе с элементами управления Windows Forms. Из формы Windows Forms также можно открывать окна WPF. Дополнительные сведения о совместном использовании Windows Forms и WPF см. в разделе Миграция и взаимодействие систем.

LINQ

LINQ (Language-Integrated Query) является новым средством в Visual Studio 2008 и .NET Framework 3.5.LINQ предоставляет широкие возможности запросов для языков C# и Visual Basic в виде стандартных и простых в изучении шаблонов запроса. Эту технологию можно расширить для поддержки хранилищ данных практически любого типа. .NET Framework 3.5 включает сборки поставщика LINQ, которые позволяют использовать LINQ для запросов коллекций .NET Framework, баз данных SQL Server, наборов данных ADO.NET и XML-документов.

Компоненты LINQ, которые являются частью .NET Framework 3.5:

  • Пространство имен System.Linq, содержащее набор стандартных операторов запросов, типы и интерфейсы, которые используются в запросах LINQ. Это пространство имен находится в сборке System.Core.dll.

  • Пространство имен System.Data.Linq, содержащее классы, поддерживающие взаимодействие с реляционными базами данных в приложениях LINQ to SQL.

  • Пространство имен System.Data.Linq.Mapping, содержащее классы, которые можно использовать для формирования объектной модели LINQ to SQL, представляющей структуру и содержимое реляционной базы данных.

  • Пространство имен System.Xml.Linq, содержащее классы для LINQ to XML.LINQ to XML является интерфейсом XML-программирования, который позволяет легко и эффективно изменять XML-документы. С помощью LINQ to XML можно загружать и сериализировать XML-документы, создавать XML-деревья с нуля, управлять XML-деревьями в памяти и проверять их с помощью XSD. Можно также использовать сочетание этих функций для преобразования XML-дерева из одной формы в другую.

  • Новые типы в пространствах имен System.Web.UI.WebControls и System.Web.UI.Design.WebControls. Эти новые типы, такие как LinqDataSource, поддерживают использование LINQ в веб-страницах ASP.NET с помощью элемента управления источником данных.

  • Классы DataRowComparer, DataRowExtensions и DataTableExtensions в пространстве имен System.Data поддерживают запросы LINQ для объектов ADO.NET DataSet.

В библиотеке классов методы расширения LINQ, применимые к классу, перечислены на странице членов класса, в области Содержимое и в области Индекс.

Деревья выражений

Деревья выражений являются новой возможностью в .NET Framework 3.5 и предоставляет способ для представления языкового кода в виде данных. Пространство имен System.Linq.Expressions содержит типы, являющиеся основными компонентами деревьев выражений. Эти типы можно использовать для представления различных типов выражений кода, например, при вызове метода или сравнении на равенство.

Деревья выражения широко используются в запросах LINQ, предназначенных для удаленных источников данных, например, базы данных Microsoft SQL Server. Эти запросы представлены как деревья выражений, и это представление позволяет поставщикам запросов проверять их и переводить на конкретный язык запросов.

Пространство имен System.Linq.Expressions находится в сборке System.Core.dll.

Языки программирования

Три языка программирования Microsoft специально ориентированы на .NET Framework. Дополнительные сведения о новых и улучшенных возможностях этих языков см. в следующих разделах:

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

Новые возможности в Visual C++ 2008

Новые возможности языка Visual Basic

См. также

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

Новые возможности ASP.NET и веб-разработки

Новые возможности платформы .NET Compact Framework версии 3.5

Новые возможности в Windows Presentation Foundation 3.5

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