Универсальные шаблоны в платформе .NET Framework
Обновлен: Ноябрь 2007
Универсальные шаблоны позволяют точно настроить метод, класс, структуру или интерфейс под тип обрабатываемых данных. Например, вместо использования класса Hashtable, который позволяет ключам и значениям быть любого типа, можно использовать универсальный класс Dictionary<TKey, TValue> и указать допустимый тип ключа и тип значения. Помимо прочего, преимуществами универсальных шаблонов являются улучшенная возможность многократного использования кода и сохранения типов.
Платформа .NET Framework предоставляет классы универсальных коллекций в пространствах имен System.Collections.Generic и System.Collections.ObjectModel. Универсальные интерфейсы для реализации сортировки и сравнений на равенство предоставляются пространством имен System вместе с универсальными типами делегатов для обработчиков событий, преобразований и предикатов поиска.
Поддержка универсальных шаблонов добавлена в System.Reflection для проверки универсальных типов и универсальных методов, в System.Reflection.Emit для создания динамических сборок, содержащих универсальные типы и методы, и в System.CodeDom для создания графиков исходного кода, содержащего универсальные шаблоны.
Visual Basic, C# и Visual C++ предоставляет полную поддержку определения и использования универсальных типов. Среда CLR предоставляет новые коды операций и префиксы для поддержки универсальных типов в языке MSIL.
В этом подразделе
Общие сведения об универсальных шаблонах в .NET Framework
Описывает функции универсальных шаблонов, их возможности в платформе .NET Framework и способы их представления в среде CLR.Универсальные коллекции в .NET Framework
Описывает классы универсальных коллекций и другие универсальные типы платформы .NET Framework.Универсальные делегаты для управления массивами и списками
Описывает универсальные делегаты для преобразований, предикаты поиска и действия, совершаемые над элементами массива или коллекции.Универсальные интерфейсы
Описывает универсальные интерфейсы обеспечивающие общие функции для всех семейств универсальных типов.Преимущества и ограничения универсальных шаблонов
Содержит сведения о преимуществах и ограничениях при использовании универсальных шаблонов.
Ссылка
System.Collections.Generic
Содержит каталог большинства универсальных типов коллекций, предоставляемых платформой .NET Framework, таких как универсальные классы List<T> и Dictionary<TKey, TValue>.System.Collections.ObjectModel
Содержит каталог дополнительных универсальных типов коллекций, таких как универсальный класс ReadOnlyCollection<T>, которые используются для предоставления объектных моделей пользователям класса.OpCodes
Для поддержки универсальных шаблонов были добавлены новые коды операций и префиксы, включая Stelem, Ldelem, Unbox_Any, Constrained и Readonly.
Связанные подразделы
Часто используемые типы коллекций
Предоставляет общие сведения о характеристиках и сценариях использования типов коллекций в платформе .NET Framework, включая универсальные типы.Когда следует использовать универсальные коллекции
Описываются общие правила определения ситуаций, в которых следует использовать универсальные типы коллекций.Отражение и универсальные типы
Поясняются способы использования отражения для проверки универсальных типов и методов.Практическое руководство. Определение универсального типа с порождаемым отражением
Описывает способы создания динамических сборок, содержащих универсальные типы и методы.Универсальные типы в Visual Basic
Описывает универсальные шаблоны для пользователей Visual Basic, включая практические руководства об использовании и определении универсальных типов.Введение в универсальные шаблоны. (Руководство по программированию на C#)
Общие сведения об определении и использовании универсальных типов для пользователей C#.Overview of Generics in Visual C++
Описывает универсальные шаблоны для пользователей C++, включая описание различий между универсальными типами и шаблонами.