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> digitar, retorna 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 deve 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> o tipo para 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 o excesso 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 membro

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

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

CA1007: Use genéricos onde for apropriado

Consulte também

Referência

Generics (C# Programming Guide)