CA1856: utilizzo non corretto dell'attributo ConstantExpected
Proprietà | valore |
---|---|
ID regola | CA1856 |
Title | Utilizzo non corretto dell'attributo ConstantExpected |
Categoria | Prestazioni |
Correzione che causa un'interruzione o un'interruzione | Nessuna interruzione |
Abilitato per impostazione predefinita in .NET 8 | Come errore |
Causa
L'attributo ConstantExpectedAttribute non viene applicato correttamente a un parametro.
Descrizione regola
Questa regola contrassegna usi non corretti dell'attributo ConstantExpectedAttribute , ad esempio:
- Il Min valore o Max non è compatibile con il tipo di parametro.
- Il tipo di parametro non è supportato per l'attributo ConstantExpectedAttribute .
- I Min valori e Max vengono invertiti.
- Il Min valore o Max non rientra nei limiti del valore del parametro.
Come correggere le violazioni
Correggere il codice come indicato dal messaggio di errore specifico ricevuto.
Esempio
Il frammento di codice seguente mostra le violazioni di CA1856:
using System.Diagnostics.CodeAnalysis;
// Violation - value not compatible with parameter type.
static void M1([ConstantExpected(Min = "a")] char val) { }
// Violation - unsupported type for attribute.
static void M2([ConstantExpected] decimal val) { }
// Violation - Min and Max values are inverted.
static void M3([ConstantExpected(Max = 0, Min = 1)] int val) { }
// Violation - value does not fit within the parameter value bounds.
static void M4([ConstantExpected(Min = long.MinValue)] int val) { }
Il frammento di codice seguente corregge le violazioni:
using System.Diagnostics.CodeAnalysis;
static void M1([ConstantExpected(Min = 'a')] char val) { }
static void M2(decimal val) { }
static void M3([ConstantExpected(Min = 0, Max = 1)] int val) { }
static void M4([ConstantExpected(Min = int.MinValue)] int val) { }
Quando eliminare gli avvisi
Una violazione di questa regola indica un errore nel codice e deve essere sempre corretto.
Collabora con noi su GitHub
L'origine di questo contenuto è disponibile in GitHub, in cui è anche possibile creare ed esaminare i problemi e le richieste pull. Per ulteriori informazioni, vedere la guida per i collaboratori.