CA2121: I costruttori statici devono essere privati
Articolo | Valore |
---|---|
ID regola | CA2121 |
Category | Microsoft.Security |
Modifica | Interruzione |
Causa
Un tipo ha un costruttore statico che non è privato.
Nota
Questa regola è stata deprecata. Per altre informazioni, vedere Regole deprecate.
Descrizione regola
Un costruttore statico, noto anche come costruttore di classe, viene usato per inizializzare un tipo. Il costruttore statico viene chiamato prima che venga creata la prima istanza del tipo o venga fatto riferimento a qualsiasi membro statico. L'utente non ha alcun controllo su quando viene chiamato il costruttore statico. Se un costruttore statico non è privato, può essere chiamato da codice esterno al sistema. A seconda delle operazioni eseguite nel costruttore, questa situazione può causare comportamenti imprevisti.
Questa regola viene applicata dai compilatori C# e Visual Basic.
Come correggere le violazioni
Le violazioni sono in genere causate da una delle azioni seguenti:
È stato definito un costruttore statico per il tipo e non è stato privato.
Il compilatore del linguaggio di programmazione ha aggiunto un costruttore statico predefinito al tipo e non lo rendeva privato.
Per correggere il primo tipo di violazione, rendere privato il costruttore statico. Per correggere il secondo tipo, aggiungere un costruttore statico privato al tipo.
Quando eliminare gli avvisi
Non eliminare queste violazioni. Se la progettazione del software richiede una chiamata esplicita a un costruttore statico, è probabile che la progettazione contenga gravi difetti e debba essere esaminata.
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per