preferências this e Me (IDE0003 e IDE0009)

Este artigo descreve duas regras relacionadas, IDE0003 e IDE0009.

Propriedade Valor
ID da regra IDE0003
Título Removerthis ou Me qualificação
Categoria Estilo
Subcategoria Regras da linguagem (qualificadores 'this.' e 'Me.')
Linguagens aplicáveis C# e Visual Basic
Opções dotnet_style_qualification_for_field
dotnet_style_qualification_for_property
dotnet_style_qualification_for_method
dotnet_style_qualification_for_event
Propriedade Valor
ID da regra IDE0009
Título Adicionarthis ou Me qualificação
Categoria Estilo
Subcategoria Regras da linguagem (qualificadores 'this.' e 'Me.')
Linguagens aplicáveis C# e Visual Basic
Opções dotnet_style_qualification_for_field
dotnet_style_qualification_for_property
dotnet_style_qualification_for_method
dotnet_style_qualification_for_event

Visão geral

Essas duas regras definem se você prefere ou não o uso dos qualificadores this (C#) e Me. (Visual Basic). Para impor que os qualificadores não estejam presentes defina a severidade de IDE0003 como aviso ou erro. Para impor que os qualificadores estejam presentes defina a severidade de IDE0009 como aviso ou erro.

Por exemplo, se você preferir qualificadores para campos e propriedades, mas não para métodos ou eventos, poderá habilitar IDE0009 e definir as opções dotnet_style_qualification_for_field e dotnet_style_qualification_for_property para true. No entanto, essa configuração não sinalizará os métodos e os eventos que tenham esses qualificadores this e Me. Para impor também que os métodos e eventos não tenham qualificadores, habilite IDE0003.

Opções

As opções associadas a esta regra definem a qual dos seguintes símbolos esta preferência de estilo deverá ser aplicada:

Um valor de opção de true significa preferir que o símbolo de código seja precedido por this. em C# e Me. no Visual Basic. Um valor de opção de false significa preferir que o elemento de código não seja precedido por this. ou Me..

Para obter mais informações sobre como configurar as opções, consulte Formato da opção.

dotnet_style_qualification_for_field

Propriedade Valor Descrição
Nome da opção dotnet_style_qualification_for_field
Valores da opção true Preferir que os campos sejam precedidos por this. em C# ou Me. no Visual Basic
false Preferir que os campos não sejam precedidos por this. ou Me.
Valor da opção padrão 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

Propriedade Valor Descrição
Nome da opção dotnet_style_qualification_for_property
Valores da opção true Preferir que as propriedades sejam precedidas por this. em C# ou Me. no Visual Basic.
false Preferir que as propriedades não sejam precedidas por this. ou Me..
Valor da opção padrão 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

Propriedade Valor Descrição
Nome da opção dotnet_style_qualification_for_method
Valores da opção true Preferir que os métodos sejam precedidos por this. em C# ou Me. no Visual Basic.
false Preferir que os métodos não sejam precedidos por this. ou Me..
Valor da opção padrão 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

Propriedade Valor Descrição
Nome da opção dotnet_style_qualification_for_event
Valores da opção true Preferir que os eventos sejam precedidos por this. em C# ou Me. no Visual Basic.
false Preferir que os eventos não sejam precedidos por this. ou Me..
Valor da opção padrão 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

Suprimir um aviso

Se você quiser suprimir apenas uma violação, adicione diretivas de pré-processador ao arquivo de origem para desabilitar e, em seguida, reabilite a regra.

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

Para desabilitar a regra em um arquivo, uma pasta ou um projeto, defina a severidade como none no arquivo de configuração.

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

Para desabilitar todas as regras de estilo de código, defina a severidade da categoria Style como none no arquivo de configuração.

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

Para obter mais informações, confira Como suprimir avisos de análise de código.

Confira também