Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
| Свойство | Ценность |
|---|---|
| идентификатор правила | IDE0025 |
| заголовок | Используйте тело выражения для свойств |
| категории | Стиль |
| подкатегории | Языковые правила (элементы с выражением) |
| применимые языки | C# |
| вариантов | csharp_style_expression_bodied_properties |
Обзор
Это правило стиля касается использования тел выражений, и блоков для свойств.
Параметры
Задайте значение связанной опции для этого правила, чтобы указать, предпочтительны ли тела выражений или блоки тел для свойств, и если предпочтительны тела выражений, предпочтительны ли они только для однострочных выражений.
Дополнительные сведения о настройке параметров см. в формате параметров .
стиль_выражения_в_свойствах_в_C♯
| Свойство | Ценность | Описание |
|---|---|---|
| название параметра | Стиль свойств C# на основе выражений | |
| значения опций | true |
Предпочитайте использовать тела выражений для свойств |
when_on_single_line |
Предпочитать тела выражений для свойств, когда они будут одной строкой | |
false |
Предпочтительнее использовать тела-блоки для свойств | |
| значение параметра по умолчанию | true |
// csharp_style_expression_bodied_properties = true
public int Age => _age;
// csharp_style_expression_bodied_properties = false
public int Age { get { return _age; }}
Это правило против IDE0027
Это правило, а также IDE0025, IDE0027 (использование тела выражения для методов доступа) и очень похожи.
IDE0025 относится к свойству в целом, в то время как IDE0027 конкретно касается аксессорных частей свойства.
Для свойства только для чтения, которое просто возвращает значение, не выполняя никаких вычислений, если для IDE0025 задано значение csharp_style_expression_bodied_properties = false, но IDE0027 задано значение csharp_style_expression_bodied_accessors = true, в конечном итоге получается свойство, как показано ниже:
public int TemperatureF
{
get => _temp;
}
Но если задать IDE0025 значение csharp_style_expression_bodied_properties = true, свойство упрощается еще больше (даже если задать IDE0027 значение csharp_style_expression_bodied_accessors = false):
public int TemperatureF => _temp;
Для свойства чтения и записи разница становится немного более очевидной, так как свойство не может быть записано в виде выражения (так как оно состоит из нескольких строк). Таким образом, даже если IDE0025 установлен на csharp_style_expression_bodied_properties = true, у вас все равно будут фигурные скобки, то есть тело блока.
В следующих примерах показано, как выглядит свойство с различными сочетаниями двух параметров.
// 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;
}
}
Подавление предупреждения
Если вы хотите отключить только одно нарушение, добавьте директивы препроцессора в исходный файл, чтобы отключить и повторно включить правило.
#pragma warning disable IDE0025
// The code that's violating the rule is on this line.
#pragma warning restore IDE0025
Чтобы отключить правило для файла, папки или проекта, задайте его серьезность none в файле конфигурации .
[*.{cs,vb}]
dotnet_diagnostic.IDE0025.severity = none
Чтобы отключить все правила стиля кода, задайте уровень серьезности для категории Style, чтобы none в файле конфигурации .
[*.{cs,vb}]
dotnet_analyzer_diagnostic.category-Style.severity = none
Дополнительные сведения см. в статье Подавление предупреждений анализа кода.
См. также
- элементов с выражения
- Правила языка стиля кода
- Справочник по правилам стиля кода