this 和 Me 首选项(IDE0003 和 IDE0009)

本文介绍两个相关的规则:IDE0003IDE0009

属性
规则 ID IDE0003
标题 删除 thisMe 限定
类别 Style
Subcategory 语言规则(“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
属性
规则 ID IDE0009
标题 添加 thisMe 限定
类别 Style
Subcategory 语言规则(“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_fielddotnet_style_qualification_for_property 设置为 true。 但是,此配置不会标记具有 thisMe 限定符的方法和事件。 若还要强制方法和事件没有限定符,请启用 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

若要禁用所有代码样式规则,请在配置文件中将类别 Style 的严重性设置为 none

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

有关详细信息,请参阅如何禁止显示代码分析警告

另请参阅