Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Eigenschappen | Weergegeven als |
---|---|
Regel-id | CA1856 |
Titel | Onjuist gebruik van het kenmerk ConstantExpected |
Categorie | Prestaties |
Oplossing is brekend of niet-brekend | Niet-brekend |
Standaard ingeschakeld in .NET 9 | Als fout |
Oorzaak
Het ConstantExpectedAttribute kenmerk wordt niet correct toegepast op een parameter.
Beschrijving van regel
Deze regel markeert onjuiste toepassingen van het ConstantExpectedAttribute kenmerk, zoals:
- De Min waarde of Max waarde is niet compatibel met het parametertype.
- Het parametertype wordt niet ondersteund voor het ConstantExpectedAttribute kenmerk.
- De Min waarden en Max waarden worden omgekeerd.
- De Min waarde of Max waarde past niet binnen de parameterwaardegrenzen.
Schendingen oplossen
Corrigeer uw code zoals aangegeven door het specifieke foutbericht dat u ontvangt.
Opmerking
Het volgende codefragment toont schendingen van 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) { }
Met het volgende codefragment worden de schendingen opgelost:
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) { }
Wanneer waarschuwingen onderdrukken
Een schending van deze regel geeft een fout in uw code aan en moet altijd worden opgelost.