用 CLSCompliantAttribute 标记程序集
更新:2007 年 11 月
TypeName |
MarkAssembliesWithClsCompliant |
CheckId |
CA1014 |
类别 |
Microsoft.Design |
是否重大更改 |
否 |
原因
某程序集未应用 System.CLSCompliantAttribute 属性。
规则说明
公共语言规范 (CLS) 定义了程序集在跨编程语言使用时必须符合的命名限制、数据类型和规则。好的设计要求所有程序集用 CLSCompliantAttribute 显式指示 CLS 符合性。如果程序集没有该属性,该程序集就不符合 CLS。
符合 CLS 的程序集可能包含不符合的类型或类型成员。
如何修复冲突
要修复与该规则的冲突,请将该属性添加到程序集。不要将整个程序集标记为不符合,而应当确定哪些类型或类型成员不符合,并将这些元素标记为不符合。如果可能,您应当为不符合的成员提供符合 CLS 的其他选择,使得尽可能多的用户可以访问您的程序集的所有功能。
何时禁止显示警告
不要禁止显示此规则发出的警告。如果不想让程序集符合,请应用该属性,然后将其值设置为 false。
示例
下面的示例演示一个程序集,其 System.CLSCompliantAttribute 属性声明该程序集符合 CLS。
Imports System
<assembly:CLSCompliant(true)>
Namespace DesignLibrary
End Namespace
using System;
[assembly:CLSCompliant(true)]
namespace DesignLibrary {}
using namespace System;
[assembly:CLSCompliant(true)];
namespace DesignLibrary {}