首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >CA1200:不要使用带前缀的 cref 标记

CA1200:不要使用带前缀的 cref 标记

作者头像
呆呆
发布于 2022-02-22 13:06:09
发布于 2022-02-22 13:06:09
61600
代码可运行
举报
文章被收录于专栏:centosDaicentosDai
运行总次数:0
代码可运行

规则 ID

CA1200

类别

文档

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

非中断

原因

XML 文档注释中的 cref 标记使用了前缀。

规则说明

XML 文档标记中的 cref 属性是指“代码引用”。 它指定标记的内部文本是一个代码元素,例如类型、方法或属性。 避免使用带有前缀的 cref 标记,因为它会阻止编译器验证引用。 它还会阻止 Visual Studio 集成开发环境 (IDE) 在重构过程中查找和更新这些符号引用。 建议使用不带前缀的完整语法以引用 cref 标记中的符号名称。

如何解决冲突

若要解决此规则的冲突,请从 cref 标记中删除前缀。 例如,以下两个代码片段显示了规则冲突及其解决方法:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// Violates CA1200
/// <summary>
/// Type <see cref="T:C" /> contains method <see cref="F:C.F" />
/// </summary>
class C
{
    public void F() { }
}
// Does not violate CA1200
/// <summary>
/// Type <see cref="C" /> contains method <see cref="F" />
/// </summary>
class C
{
    public void F() { }
}

何时禁止显示警告

如果由于编译器无法找到引用类型,代码引用必须使用前缀,则可以安全地禁止显示此警告。 例如,如果代码引用在完整框架中引用特殊属性,但文件根据可移植框架进行编译,则可以禁止显示此警告。

另请参阅

使用 XML 注释来记录代码

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

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

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

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
CA1064:异常应该是公共的
非公共异常直接派生自 Exception、SystemException 或 ApplicationException。
呆呆
2022/02/22
2960
CA1044:属性不应是只写的
Get 访问器提供对属性的读取访问权限,而 set 访问器提供写入访问权限。 虽然可以接受且经常需要使用只读属性,但设计准则禁止使用只写属性。 这是因为允许用户设置值但又禁止该用户查看这个值不能提供任何安全性。 而且,如果没有读访问,将无法查看共享对象的状态,使其用处受到限制。
呆呆
2022/01/10
2660
CA1024:在适用处使用属性
在大多数情况下,属性表示数据,方法执行操作。 访问属性的方式类似于访问字段,这使得它们更易于使用。 如果一个方法具备以下条件之一,则该方法可能很适合成为属性:
用户4268038
2022/01/10
5710
CA1056:URI 属性不应是字符串
类型声明名称包含“uri”、“Uri”、“urn”、“Urn”、“url”或“Url”的字符串属性。
呆呆
2022/02/22
6100
CA1822:将成员标记为 static
非中断性 - 无论进行了何种更改,如果成员在程序集外部不可见,则为非中断修复。非中断 - 如果只使用 this 关键字将成员更改为实例成员,则为非中断修复。非中断 - 如果将成员从实例成员更改为静态成员,并且该成员在程序集外部可见,则为中断修复。
用户4268038
2022/02/23
7790
CA1019:定义特性参数的访问器
特性可以定义强制自变量,在对目标应用该特性时必须指定这些自变量。 这些实参也称为位置实参,因为它们将作为位置形参提供给特性构造函数。 对于每一个强制变量,特性还必须提供一个相应的只读属性,以便可以在执行时检索该变量的值。 此规则检查是否已为每个构造函数参数定义了相应属性。
用户4268038
2022/01/10
5470
CA1721:属性名不应与 get 方法冲突
成员的名称以“Get”开头,且其余部分与属性的名称匹配。 例如,包含名为“GetColor”的方法和名为“Color”的属性的类型将导致规则冲突。
呆呆
2022/02/19
4820
CA1021:避免使用 out 参数
按引用(使用 out 或 ref)传递类型要求具有使用指针的经验,了解值类型和引用类型的不同之处,以及能处理具有多个返回值的方法。 另外,out 和 ref 参数之间的区别并未得到广泛了解。
用户4268038
2022/01/10
5940
CA1018:用 AttributeUsageAttribute 标记特性
自定义特性上不存在 System.AttributeUsageAttribute 特性。
用户4268038
2022/01/10
2140
CA1012:抽象类型不应具有公共构造函数
抽象类型的构造函数只能由派生类型调用。 由于公共构造函数可创建类型的实例,但无法创建抽象类型的实例,因此具有公共构造函数的抽象类型在设计上是错误的。
用户4268038
2022/01/10
6560
CA1040:避免使用空接口
接口定义提供某个行为或使用协定的成员。 接口所描述的功能可以被任何类型采用,而不管该类型出现在继承层次结构中的哪个位置。 类型通过实现接口的成员来实现接口。 空接口不定义任何成员。 因此,它不定义可实现的协定。
呆呆
2022/01/10
4540
CA1032:实现标准异常构造函数
如果不能提供完整的构造函数集,要正确处理异常将变得比较困难。 例如,具有签名 NewException(string, Exception) 的构造函数用于创建由其他异常引起的异常。 如果没有此构造函数,你无法创建和引发包含内部(嵌套)异常的自定义异常实例,在这种情况下,托管代码应执行此操作。
用户4268038
2022/01/10
5340
CA1027:用 FlagsAttribute 标记枚举
枚举的值是两个值的幂或枚举中定义的其他值的组合,且不存在 System.FlagsAttribute 属性。 为了减少误报,此规则不对具有连续值的枚举报告冲突。
用户4268038
2022/01/10
6760
CA1713:事件不应具有 before 或 after 前缀
事件名称应描述引发该事件的操作。 若要命名按特定顺序引发的相关事件,请使用现在时或过去时指示一系列操作中的相对位置。 例如,在对关闭资源时引发的一对事件进行命名时,可将其命名为“Closing”和“Closed”,而不是“BeforeClose”和“AfterClose”。
呆呆
2022/02/18
2000
CA1014:用 CLSCompliantAttribute 标记程序集
程序集没有已应用的 System.CLSCompliantAttribute 属性。
用户4268038
2022/01/10
3890
CA1715:标识符应具有正确的前缀
接口名称应以大写的“I”开头,后跟另一个大写字母。 此规则报告与接口名称(如“MyInterface”和“IsolatedInterface”)相关的冲突。
呆呆
2022/02/19
6160
CA1812:避免未实例化的内部类
无法实例化且仅定义 static(在 Visual Basic 中为 Shared)方法的类型。
呆呆
2022/02/19
6220
CA1051:不要声明可见实例字段
字段的主要用途应是作为实现的详细信息。 字段应为 private 或 internal,并应通过使用属性公开这些字段。 在访问某个字段时,可轻松访问属性,而属性访问器中的代码可在扩展类型功能时更改,而不会引入重大更改。
呆呆
2022/01/10
5350
CA1068:CancellationToken 参数必须最后出现
执行长时间运行操作或异步操作并可取消的方法,通常采用取消令牌参数。 每个取消令牌都有一个 CancellationTokenSource,以创建令牌并将其用于可取消的计算。 通常的做法是使用一长的方法调用链,将取消令牌从调用方传递到被调用方。 因此,参与可取消计算的大量方法最终都具有取消令牌参数。 但是,取消令牌本身通常与大多数这些方法的核心功能无关。 将此类参数作为列表中的最后一个参数是一种很好的 API 设计实践。
用户4268038
2022/01/11
7830
CA1016:用 AssemblyVersionAttribute 标记程序集
.NET 使用版本号来唯一标识程序集,并绑定到强名称程序集中的类型。 版本号与版本和发行者策略一起使用。 默认情况下,仅使用用于生成应用程序的程序集版本运行应用程序。
用户4268038
2022/01/10
6190
相关推荐
CA1064:异常应该是公共的
更多 >
领券
一站式MCP教程库,解锁AI应用新玩法
涵盖代码开发、场景应用、自动测试全流程,助你从零构建专属AI助手
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档