Dela via


Använd uttrycksform för operatorer (IDE0023 och IDE0024)

I den här artikeln beskrivs två relaterade regler, IDE0023 och IDE0024, som gäller för konverteringsoperatorer respektive operatorer.

Egenskap Värde
Regel-ID IDE0023
rubrik Använd uttryckskropp för konverteringsoperatorer
kategori Stil
underkategori Språkregler (medlemmar med uttrycksform)
Tillämpliga språk C#
alternativ csharp_style_expression_bodied_operators
Egenskap Värde
Regel-ID IDE0024
rubrik Använd uttrycksform för operatorer
Kategori Stil
Underkategori Språkregler (uttrycksbaserade medlemmar)
Tillämpliga språk C#
alternativ csharp_style_expression_bodied_operators

Överblick

Den här formatregeln gäller användningen av uttryckskroppar jämfört med blockkroppar för operatorer.

Alternativ

Ange värdet för det associerade alternativet för dessa regler för att ange om uttryckskroppar eller blockkroppar för operatorer ska föredras, och om uttryckskroppar föredras, om de endast ska föredras för enradiga uttryck.

Mer information om hur du konfigurerar alternativ finns i Alternativformat.

csharp_stil_uttrycksbaserade_operatorer

Egenskap Värde Beskrivning
Alternativnamn csharp-stil-uttrycksformade-operatorer
Alternativvärden true Föredra uttryckskroppar för operatorer
when_on_single_line Föredrar uttryckskroppar för operatorer när de ska vara en enda rad
false Föredra blockkroppar för operatörer
standardalternativvärde false
// csharp_style_expression_bodied_operators = true
public static ComplexNumber operator + (ComplexNumber c1, ComplexNumber c2)
    => new ComplexNumber(c1.Real + c2.Real, c1.Imaginary + c2.Imaginary);

// csharp_style_expression_bodied_operators = false
public static ComplexNumber operator + (ComplexNumber c1, ComplexNumber c2)
{ return new ComplexNumber(c1.Real + c2.Real, c1.Imaginary + c2.Imaginary); }

Undertryck en varning

Om du bara vill förhindra en enda överträdelse lägger du till förprocessordirektiv i källfilen för att inaktivera och återaktiverar sedan regeln.

#pragma warning disable IDE0023 // Or IDE0024
// The code that's violating the rule is on this line.
#pragma warning restore IDE0023 // Or IDE0024

Om du vill inaktivera regeln för en fil, mapp eller ett projekt anger du dess allvarlighetsgrad till none i konfigurationsfilen.

[*.{cs,vb}]
dotnet_diagnostic.IDE0023.severity = none
dotnet_diagnostic.IDE0024.severity = none

Om du vill inaktivera alla regler i kodformat anger du allvarlighetsgraden för kategorin Style till none i konfigurationsfilen .

[*.{cs,vb}]
dotnet_analyzer_diagnostic.category-Style.severity = none

Mer information finns i Så här utelämnar du kodanalysvarningar.

Se även