Händelser
17 mars 21 - 21 mars 10
Gå med i mötesserien för att skapa skalbara AI-lösningar baserat på verkliga användningsfall med andra utvecklare och experter.
Registrera dig nuDen här webbläsaren stöds inte längre.
Uppgradera till Microsoft Edge och dra nytta av de senaste funktionerna och säkerhetsuppdateringarna, samt teknisk support.
Egenskap | Värde |
---|---|
Regel-ID | IDE0025 |
Rubrik | Använd uttrycksform för egenskaper |
Kategori | Stil |
underkategori | Språkregler (uttrycksbaserade element) |
Tillämpliga språk | C# |
alternativ | csharp_style_expression_bodied_properties |
Den här formatregeln gäller användningen av uttryckskroppar jämfört med blockkroppar för egenskaper.
Ange värdet för det associerade alternativet för den här regeln för att ange om uttryckskroppar eller blockkroppar för egenskaper ska föredras, och om uttryckskroppar föredras, om de endast föredras för enradsuttryck.
Mer information om hur du konfigurerar alternativ finns i Alternativformat.
Egenskap | Värde | Beskrivning |
---|---|---|
Alternativnamn | csharp_style_expression_bodied_properties | |
Alternativvärden | true |
Föredra uttryckskroppar för egenskaper |
when_on_single_line |
Föredrar uttryckskroppar för egenskaper när de ska vara en enda rad | |
false |
Föredrar blockkroppar för egenskaper | |
standardalternativvärde | true |
// csharp_style_expression_bodied_properties = true
public int Age => _age;
// csharp_style_expression_bodied_properties = false
public int Age { get { return _age; }}
Den här regeln, IDE0025
, och IDE0027 (Använd uttrycksform för accessorer),, är mycket lika.
IDE0025
avser fastigheten som helhet, medan IDE0027
särskilt avser egendomens tillbehörsdelar.
För en skrivskyddad egenskap som helt enkelt returnerar ett värde utan att göra någon beräkning, om IDE0025
är inställd på csharp_style_expression_bodied_properties = false
men IDE0027
är inställd på csharp_style_expression_bodied_accessors = true
, får du en egenskap som ser ut så här:
public int TemperatureF
{
get => _temp;
}
Men om du anger IDE0025
till csharp_style_expression_bodied_properties = true
förenklas egenskapen ytterligare (även om du anger IDE0027
till csharp_style_expression_bodied_accessors = false
):
public int TemperatureF => _temp;
För en läs- och skrivbar egenskap blir skillnaden lite tydligare, eftersom egenskapen inte kan skrivas som en expressionskropp (eftersom den består av mer än en rad). Så även om IDE0025
är inställd på csharp_style_expression_bodied_properties = true
, får du fortfarande klammerparenteser, det vill ex. en blockkropp.
I följande exempel visas hur en egenskap ser ut med olika kombinationer av de två valen.
// csharp_style_expression_bodied_properties = false
// csharp_style_expression_bodied_accessors = true
public int TemperatureB
{
get => _temp;
}
// csharp_style_expression_bodied_properties = true
// csharp_style_expression_bodied_accessors = true (or false)
public int TemperatureC => _temp;
// csharp_style_expression_bodied_properties = true (or false)
// csharp_style_expression_bodied_accessors = true
public int TemperatureD
{
get => _temp;
set => _temp = value;
}
// csharp_style_expression_bodied_properties = true
// csharp_style_expression_bodied_accessors = false
public int TemperatureE
{
get
{
return _temp;
}
set
{
_temp = value;
}
}
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 IDE0025
// The code that's violating the rule is on this line.
#pragma warning restore IDE0025
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.IDE0025.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.
Feedback om .NET
.NET är ett öppen källkod projekt. Välj en länk för att ge feedback:
Händelser
17 mars 21 - 21 mars 10
Gå med i mötesserien för att skapa skalbara AI-lösningar baserat på verkliga användningsfall med andra utvecklare och experter.
Registrera dig nu