Compartilhar via


CA1002: Não expõem listas genéricas

TypeName

DoNotExposeGenericLists

CheckId

CA1002

<strong>Categoria</strong>

Microsoft.design

Alteração significativa

Quebrando

Causa

Um tipo contém um membro visível externamente que é um System.Collections.Generic.List<T> retorna, digite um System.Collections.Generic.List<T> tipo ou cuja assinatura inclui um System.Collections.Generic.List<T> parâmetro.

Descrição da regra

System.Collections.Generic.List<T>é uma coleção genérica que foi projetada para desempenho e não a herança.System.Collections.Generic.List<T>não contém membros virtuais que tornam mais fácil alterar o comportamento de uma classe herdada.As seguintes coleções genéricas são destinadas a herança e devem ser expostas em vez de System.Collections.Generic.List<T>.

Como corrigir violações

Para corrigir uma violação desta regra, altere o System.Collections.Generic.List<T> tipo a ser uma das coleções genéricas que se destina a herança.

Quando suprimir avisos

Não suprimir um aviso da regra, a menos que o assembly que gera este aviso não deve ser uma biblioteca reutilizável.Por exemplo, seria seguro suprimir este aviso em um aplicativo de desempenho ajustado onde um benefício de desempenho foi obtido do uso de listas genéricas.

Regras relacionadas

CA1005: Evitar excessivos parâmetros em tipos genéricos

CA1010: Coleções devem implementar a interface genérica

CA1000: Não declarar membros estáticos em tipos genéricos

CA1006: Não se aninham tipos genéricos em assinaturas de membros

CA1004: Métodos genéricos devem fornecer o parâmetro de tipo

CA1003: Usar instâncias de manipulador de evento genérico

CA1007: Use genéricos onde for apropriado

Consulte também

Referência

Genéricos (guia de programação do C#)