Поделиться через


Упрощение шаблона свойств (IDE0170)

Свойство Ценность
идентификатор правила IDE0170
Заголовок Упрощение шаблона свойств
категория Стиль
подкатегории Языковые правила (параметры сопоставления шаблонов)
применимые языки C#
параметры csharp_style_prefer_extended_property_pattern

Обзор

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

Параметры

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

csharp_style_prefer_extended_property_pattern

Свойство Ценность Описание
имя параметра csharp_style_prefer_extended_property_pattern
значения опций true Предпочитать шаблон расширенных свойств.
false Отключает правило.
значение параметра по умолчанию true

Пример

public record Point(int X, int Y);
public record Segment(Point Start, Point End);

// Violates IDE0170.
static bool IsEndOnXAxis(Segment segment) =>
    segment is { Start: { Y: 0 } } or { End: { Y: 0 } };

// Fixed code.
static bool IsEndOnXAxis(Segment segment) =>
    segment is { Start.Y: 0 } or { End.Y: 0 };

Подавление предупреждения

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

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

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

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

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

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

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

См. также