CA1856: Onjuist gebruik van kenmerk ConstantExpected
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.
Werk met ons samen op GitHub
De bron voor deze inhoud vindt u op GitHub, waar u ook problemen en pull-aanvragen kunt maken en bekijken. Raadpleeg onze gids voor inzenders voor meer informatie.