Evento
Construír aplicacións intelixentes
Mar 17, 9 PM - Mar 21, 10 AM
Únete á serie de encontros para construír solucións de IA escalables baseadas en casos de uso do mundo real con compañeiros desenvolvedores e expertos.
Rexistrar agoraEste explorador xa non é compatible.
Actualice a Microsoft Edge para dispoñer das funcionalidades máis recentes, as actualizacións de seguranza e a asistencia técnica.
Propiedad | Valor |
---|---|
Identificador de la regla | IDE0025 |
Título | Uso del cuerpo de expresiones para las propiedades |
Categoría | Estilo |
Subcategoría | Reglas del lenguaje (miembros con forma de expresión) |
idiomas aplicables | C# |
Opciones | csharp_style_expression_bodied_properties |
Esta regla de estilo se refiere al uso de cuerpos de expresiones frente a cuerpos de bloque para las propiedades.
Establezca el valor de la opción asociada para esta regla para especificar si se prefieren los cuerpos de expresión o los cuerpos de bloque para las propiedades y, si se prefieren los cuerpos de expresión, se deberá especificar si solo se prefieren para expresiones de una sola línea.
Para obtener más información sobre la configuración de opciones, vea Formato de opción.
Propiedad | Valor | Descripción |
---|---|---|
nombre de opción | csharp_style_expression_bodied_properties | |
Valores de opción | true |
Se prefieren cuerpos de expresión para las propiedades |
when_on_single_line |
Preferir cuerpos de expresión para las propiedades cuando se trate de una sola línea | |
false |
Prefiere cuerpos de bloque para las propiedades | |
valor de opción predeterminado | true |
// csharp_style_expression_bodied_properties = true
public int Age => _age;
// csharp_style_expression_bodied_properties = false
public int Age { get { return _age; }}
Esta regla, IDE0025
, e IDE0027 (use un cuerpo de expresión para descriptores de acceso) son muy similares. IDE0025
se refiere a la propiedad en su conjunto, mientras que IDE0027
se refiere específicamente a las partes accesorias de la propiedad.
Para una propiedad de solo lectura que simplemente devuelve un valor sin realizar ningún cálculo, si IDE0025
está establecido en csharp_style_expression_bodied_properties = false
, pero IDE0027
se establece en csharp_style_expression_bodied_accessors = true
, terminará con una propiedad similar a la siguiente:
public int TemperatureF
{
get => _temp;
}
Pero si establece IDE0025
en csharp_style_expression_bodied_properties = true
, la propiedad se simplifica aún más (incluso si establece IDE0027
en csharp_style_expression_bodied_accessors = false
):
public int TemperatureF => _temp;
Para una propiedad de lectura y escritura, la diferencia se vuelve un poco más evidente, porque la propiedad no se puede escribir en forma de expresión (porque consta de más de una línea). Por lo tanto, incluso si IDE0025
se establece en csharp_style_expression_bodied_properties = true
, todavía termina con llaves, es decir, un cuerpo de bloque.
En los ejemplos siguientes se muestra cómo se ve una propiedad con varias combinaciones de las dos opciones.
// 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;
}
}
Si desea suprimir solo una infracción, agregue directivas de preprocesador al archivo de origen para deshabilitar y volver a habilitar la regla.
#pragma warning disable IDE0025
// The code that's violating the rule is on this line.
#pragma warning restore IDE0025
Para deshabilitar la regla de un archivo, una carpeta o un proyecto, establezca su gravedad en none
en el archivo de configuración de .
[*.{cs,vb}]
dotnet_diagnostic.IDE0025.severity = none
Para deshabilitar todas las reglas de estilo de código, establezca la gravedad de la categoría Style
a none
en el archivo de configuración .
[*.{cs,vb}]
dotnet_analyzer_diagnostic.category-Style.severity = none
Para obtener más información, vea Cómo suprimir advertencias de análisis de código.
Comentarios de .NET
.NET é un proxecto de código aberto. Selecciona unha ligazón para ofrecer comentarios:
Evento
Construír aplicacións intelixentes
Mar 17, 9 PM - Mar 21, 10 AM
Únete á serie de encontros para construír solucións de IA escalables baseadas en casos de uso do mundo real con compañeiros desenvolvedores e expertos.
Rexistrar agora