Поделиться через


CA1002: не следует раскрывать универсальные списки

TypeName

DoNotExposeGenericLists

CheckId

CA1002

Категория

Microsoft.Design

Критическое изменение

Критическое изменение

Причина

Тип содержит видимый извне член, который является типом List, возвращает тип List или содержит в подписи параметр List.

Описание правила

List— это универсальная коллекция, которая предназначена для производительности и не наследуется.Listне содержит виртуальных членов, которые упрощают изменение поведения наследуемого класса.Следующие универсальные коллекции предназначены для наследования, поэтому следует раскрывать именно их, а не List.

Устранение нарушений

Чтобы устранить нарушение этого правила, измените тип List на одну из универсальных коллекций, предназначенных для наследования.

Отключение предупреждений

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

Связанные правила

CA1005: не используйте слишком много параметров в универсальных типах

CA1010: коллекции должны реализовывать универсальный интерфейс

CA1000: не объявляйте статические элементы в универсальных типах

CA1006: не вкладывайте универсальные типы в сигнатуры членов

CA1004: универсальные методы должны предоставлять параметр типа

CA1003: используйте экземпляры обработчика универсальных событий

CA1007: используйте универсальные методы, если это уместно

См. также

Ссылки

Универсальные шаблоны (Руководство по программированию на C#)