Используйте тело выражения для операторов (IDE0023 и IDE0024)

В этой статье описываются два связанных правила, IDE0023 и IDE0024, которые применяются к операторам преобразования и операторам соответственно.

Свойство Значение
Идентификатор правила IDE0023
Заголовок Использование тела выражения для операторов преобразования
Категория Стиль
Подкатегория Правила языка (элементы, воплощающие выражение)
Применимые языки C#
Параметры csharp_style_expression_bodied_operators
Свойство Значение
Идентификатор правила IDE0024
Заголовок Использование тела выражения для операторов
Категория Стиль
Подкатегория Правила языка (элементы, воплощающие выражение)
Применимые языки C#
Параметры csharp_style_expression_bodied_operators

Обзор

Это правило стиля относится к использованию тела выражения и тела блока в операторах.

Варианты

Задайте значение связанного параметра для этих правил, чтобы указать, являются ли тела выражений или блочные тела для операторов предпочтительными, а также предпочтительнее ли их использовать только для однострочных выражений.

Дополнительные сведения о настройке параметров см. в разделе Формат параметра.

csharp_style_expression_bodied_operators

Свойство Значение Описание
Имя параметра csharp_style_expression_bodied_operators
Значения параметра true Предпочитать тела выражений для операторов
when_on_single_line Предпочитать тела выражений для операторов, когда они будут одной строкой
false Предпочитать тела блоков для операторов
Значение параметра по умолчанию 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); }

Отключение предупреждений

Если вы хотите подавить только одно нарушение, добавьте директивы препроцессора в исходный файл, чтобы отключить и снова включить правило.

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

Чтобы отключить правило для файла, папки или проекта, задайте для его серьезности none значение в файле конфигурации.

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

Чтобы отключить все правила в стиле кода, задайте серьезность для категории Stylenone в файле конфигурации.

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

Дополнительные сведения см. в разделе Практическое руководство. Скрытие предупреждений анализа кода.

См. также раздел