Не следует раскрывать универсальные списки
Обновлен: Ноябрь 2007
TypeName |
DoNotExposeGenericLists |
CheckId |
CA1002 |
Категория |
Microsoft.Design |
Критическое изменение |
Критическое |
Причина
Тип содержит видимый извне член, который является типом System.Collections.Generic.List<T>, возвращает тип System.Collections.Generic.List<T> или содержит в подписи параметр System.Collections.Generic.List<T>.
Описание правила
System.Collections.Generic.List<T> — это универсальная коллекция, предназначенная для работы, а не наследования, поэтому она не содержит виртуальных членов. Следующие универсальные коллекции предназначены для наследования, поэтому следует раскрывать именно их, а не System.Collections.Generic.List<T>.
Устранение нарушений
Чтобы устранить нарушение этого правила, измените тип System.Collections.Generic.List<T> на одну из универсальных коллекций, предназначенных для наследования.
Отключение предупреждений
Предупреждения этого правила следует отключать только в том случае, если оно возникает для сборки, которая не должна быть повторно используемой библиотекой. Например, можно отключить это предупреждение в приложении, где выполняется настройка производительности и благодаря применению универсальных списков была повышена производительность.
Связанные правила
Не используйте слишком много параметров в универсальных типах
Коллекции должны реализовать универсальный интерфейс
Не объявляйте статические элементы в универсальных типах
Не вкладывайте универсальные типы в подписи членов
Универсальные методы должны предоставлять параметр типа
Используйте экземпляры обработчика универсальных событий
Используйте универсальные методы, если это уместно
См. также
Ссылки
Универсальные шаблоны (Руководство по программированию на C#)