Предпочтения для this и Me (IDE0003 и IDE0009)

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

Свойство Значение
Идентификатор правила IDE0003
Заголовок Удалитьthis или Me квалификация
Категория Стиль
Подкатегория Правила языка ('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 квалификация
Категория Стиль
Подкатегория Правила языка ('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

Общие сведения

Эти два правила определяют, предпочитаете ли вы использовать эти квалификаторы (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

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

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