Condividi tramite


CA1002: Non esporre elenchi generici

TypeName

DoNotExposeGenericLists

CheckId

CA1002

Category

Microsoft.Design

Breaking Change

Breaking

Causa

Un tipo contiene un membro visibile esternamente che corrisponde a un tipo List, restituisce un tipo List oppure la cui firma include un parametro List.

Descrizione della regola

List è una raccolta generica progettata per le prestazioni e non per l'ereditarietà.List non contiene membri virtuali che rendono più semplice la modifica del comportamento di una classe ereditata.Le raccolte seguenti sono state progettate per l'ereditarietà e dovrebbero essere esposte in luogo di List.

Come correggere le violazioni

Per correggere una violazione di questa regola, modificare il tipo List in una delle raccolte generiche progettate per l'ereditarietà.

Esclusione di avvisi

Non escludere un avviso da questa regola a meno che non si preveda di considerare l'assembly che ha generato l'avviso una libreria riutilizzabile.Ad esempio, potrebbe essere sicuro escludere l'avviso in un un'applicazione di regolazione delle prestazioni in cui si sia ottenuto un miglioramento delle prestazioni mediante l'utilizzo degli elenchi generici.

Regole correlate

CA1005: Evitare un uso eccessivo di parametri nei tipi generici

CA1010: Le raccolte devono implementare un'interfaccia generica

CA1000: Non dichiarare membri statici su tipi generici

CA1006: Non annidare tipi generici nelle firme dei membri

CA1004: I metodi generici devono fornire parametri di tipo

Ca1003: Utilizzare istanze di gestori eventi generici

CA1007: Utilizzare generics dove appropriato

Vedere anche

Riferimenti

Generics (Guida per programmatori C#)