this 和 Me 首选项(IDE0003 和 IDE0009)
本文介绍两个相关的规则:IDE0003
和 IDE0009
。
属性 | 值 |
---|---|
规则 ID | IDE0003 |
标题 | 删除this 或Me 限定 |
类别 | 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 |
标题 | 添加this 或Me 限定 |
类别 | 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_field
和 dotnet_style_qualification_for_property
设置为 true
。 但是,此配置不会标记具有 this
和 Me
限定符的方法和事件。 若还要强制方法和事件没有限定符,请启用 IDE0003
。
注意
即使你在 生成时启用代码样式规则,也不会启用此规则。 它仅在 Visual Studio 编辑器中浮出水面。
选项
此规则的关联选项定义此样式首选项应当应用于以下哪一个符号:
- 字段 (dotnet_style_qualification_for_field)
- 属性 (dotnet_style_qualification_for_property)
- 方法 (dotnet_style_qualification_for_method)
- 事件 (dotnet_style_qualification_for_event)
选项值为 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
有关详细信息,请参阅如何禁止显示代码分析警告。