Compartilhar via


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 Remover this ou Me qualificar
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 Adicionar this ou Me qualificar
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.

Observação

Mesmo se você habilitar regras de estilo de código na compilação, essa regra não estará habilitada. Ele só aparece no editor do Visual Studio.

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