前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CA1041:提供 ObsoleteAttribute 消息

CA1041:提供 ObsoleteAttribute 消息

作者头像
呆呆
发布2022-01-10 09:17:11
2780
发布2022-01-10 09:17:11
举报
文章被收录于专栏:centosDai

“值”

RuleId

CA1041

类别

设计

修复是中断修复还是非中断修复

非中断

原因

类型和成员使用了未指定其 System.ObsoleteAttribute.Message 属性的 System.ObsoleteAttribute 特性进行标记。

默认情况下,此规则仅查看外部可见的类型和成员,但这是可配置的。

规则说明

ObsoleteAttribute 用于标记已弃用的库类型和成员。 库使用者应避免使用任何标记为已过时的类型或成员。 这是因为它可能不受支持,最终将从库的更高版本中删除。 编译使用 ObsoleteAttribute 进行标记的类型和成员时,将显示此特性的 Message 属性。 这将为用户提供有关已过时的类型或成员的信息。 此信息通常包括库设计人员还将支持已过时类型或成员的时长以及要使用的首选替换项。

如何解决冲突

若要修复此规则的冲突,请将 message 参数添加到 ObsoleteAttribute 构造函数。

何时禁止显示警告

不要禁止显示此规则的警告,因为 Message 属性提供了有关已过时类型或成员的关键信息。

配置代码以进行分析

使用下面的选项来配置代码库的哪些部分要运行此规则。

包含特定的 API 图面

你可以仅为此规则、为所有规则或为此类别中的所有规则配置此选项(设计)。 有关详细信息,请参阅代码质量规则配置选项。

包含特定的 API 图面

你可以根据代码库的可访问性,配置要针对其运行此规则的部分。 例如,若要指定规则应仅针对非公共 API 图面运行,请将以下键值对添加到项目中的 .editorconfig 文件:

dotnet_code_quality.CAXXXX.api_surface = private, internal

示例

以下示例显示了具有正确声明的 ObsoleteAttribute 的已过时成员。

[ObsoleteAttribute("This property is obsolete and will be removed in a " +

"future version. Use the FullName property instead.", false)]

public string Name

{

get => "Name";

}

Imports System

Namespace ca1041

Public Class ObsoleteAttributeOnMember

<ObsoleteAttribute("This property is obsolete and will " &

"be removed in a future version. Use the FirstName " &

"and LastName properties instead.", False)>

ReadOnly Property Name As String

Get

Return "Name"

End Get

End Property

ReadOnly Property FirstName As String

Get

Return "FirstName"

End Get

End Property

ReadOnly Property LastName As String

Get

Return "LastName"

End Get

End Property

End Class

End Namespace

另请参阅

System.ObsoleteAttribute

本文系外文翻译,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系外文翻译前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档