Параметры квалификации доступа к членам (IDE0003 и IDE0009)

В этой статье описаны два связанных правила, IDE0003 и IDE0009.

Свойство Значение
Идентификатор правила IDE0003
Заголовок Имя может быть упрощено
Категория Стиль
Подкатегории Языковые правила ('this.' и 'Me.' квалификаторы)
Применимые языки C# и Visual Basic
Параметры dotnet_style_qualification_for_field
dotnet_style_qualification_for_property
dotnet_style_qualification_for_method
dotnet_style_qualification_for_event
Свойство Значение
Идентификатор правила IDE0009
Заголовок Доступ к члену должен быть квалифицирован
Категория Стиль
Подкатегории Языковые правила («this.» и «Me.» квалификаторы)
Применимые языки C# и Visual Basic
Параметры dotnet_style_qualification_for_field
dotnet_style_qualification_for_property
dotnet_style_qualification_for_method
dotnet_style_qualification_for_event

Обзор

Эти два правила определяют, предпочитаете ли вы использовать квалификатор this (C#) и Me. для (Visual Basic). Чтобы обеспечить отсутствие квалификаторов, установите уровень серьезности IDE0003 на предупреждение или ошибку. Чтобы обеспечить наличие квалификаторов, задайте серьезность IDE0009 предупреждения или ошибки.

Например, если вы предпочитаете квалификаторы для полей и свойств, но не для методов или событий, то можно включить IDE0009 и задать параметры dotnet_style_qualification_for_field и dotnet_style_qualification_for_property на true. Однако эта конфигурация не будет помечать методы и события, имеющие this и Me квалификаторы. Чтобы также обеспечить, что методы и события не имеют квалификаторов, включите IDE0003.

Примечание.

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

Параметры

Опции, связанные с этим правилом, определяют, к каким из следующих символов следует применять предпочитаемый стиль.

Значение true означает, что символ кода предпочтительно следует предварять this. на C# и Me. на Visual Basic. Значение false параметра указывает на предпочтение не использовать префиксы this. или Me. перед элементом кода.

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

dotnet_style_qualification_for_field

Свойство Значение Описание
Имя параметра dotnet_style_qualification_for_field
Значения параметра true Предпочтительно использовать префикс this. для полей в C# или Me. для полей в Visual Basic
false Предпочитать поля не быть предусловленными this. или Me.
Значение параметра по умолчанию false
// dotnet_style_qualification_for_field = true
this.capacity = 0;

// dotnet_style_qualification_for_field = false
capacity = 0;
' dotnet_style_qualification_for_field = true
Me.capacity = 0

' dotnet_style_qualification_for_field = false
capacity = 0

dotnet_style_qualification_for_property

Свойство Значение Описание
Имя параметра dotnet_style_qualification_for_property
Значения параметра true Предпочтительно, чтобы свойства имели префикс this. в C# или Me. в Visual Basic.
false Предпочтительно, чтобы свойства не имели префикс this. или Me..
Значение параметра по умолчанию false
// dotnet_style_qualification_for_property = true
this.ID = 0;

// dotnet_style_qualification_for_property = false
ID = 0;
' dotnet_style_qualification_for_property = true
Me.ID = 0

' dotnet_style_qualification_for_property = false
ID = 0

dotnet_style_qualification_for_method

Свойство Значение Описание
Имя параметра dotnet_style_qualification_for_method
Значения параметра true Предпочитайте, чтобы методы начинались с this. в C# или Me. в Visual Basic.
false Предпочтительно, чтобы методы не были с префиксами this. или Me..
Значение параметра по умолчанию false
// dotnet_style_qualification_for_method = true
this.Display();

// dotnet_style_qualification_for_method = false
Display();
' dotnet_style_qualification_for_method = true
Me.Display()

' dotnet_style_qualification_for_method = false
Display()

dotnet_style_qualification_for_event (правила стиля квалификации для события)

Свойство Значение Описание
Имя параметра dotnet_style_qualification_for_event (правила стиля квалификации для события)
Значения параметра true Предпочтительнее, чтобы события начинались с this. в C# или Me. в Visual Basic.
false Предпочтительнее, чтобы события не начинались с this. или Me..
Значение параметра по умолчанию false
// dotnet_style_qualification_for_event = true
this.Elapsed += Handler;

// dotnet_style_qualification_for_event = false
Elapsed += Handler;
' dotnet_style_qualification_for_event = true
AddHandler Me.Elapsed, AddressOf Handler

' dotnet_style_qualification_for_event = false
AddHandler Elapsed, AddressOf Handler

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

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

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

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

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

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

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

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

См. также