Partilhar via


CA1002: não expor listas genéricas

TypeName

DoNotExposeGenericLists

CheckId

CA1002

Categoria

Microsoft.Design

Alteração Significativa

Quebra

Causa

Um tipo contém um membro externamente visível que seja um tipo de List , retorna um tipo de List , ou cujo a assinatura inclui um parâmetro de List .

Descrição da Regra

List é uma coleção genérica que é criada para o desempenho e não a herança.List não contém os membros virtuais que facilitam alterar o comportamento de uma classe herdada.As seguintes coleções genéricas são criadas para a herança e devem ser exposto em vez de List.

Como Corrigir Violações

Para corrigir uma violação desta regra, altere o tipo de List a uma das coleções genéricas que é criada para a herança.

Quando Suprimir Alertas

Não suprima um aviso desta regra a menos que o assembly que gerencie esse aviso não é significado ser uma biblioteca reutilizável.Por exemplo, seria seguro suprimir esse aviso em um aplicativo de desempenho onde um benefício de desempenho é obtido do uso de listas genéricas.

Regras Relacionadas

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

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

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

CA1006: não aninhar tipos genéricos em assinaturas de membro

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

CA1003: usar instâncias do manipulador de eventos genéricos

CA1007: usar genéricos quando apropriado

Consulte também

Referência

Genéricos (Guia de Programação em C#)