System.CLSCompliantAttribute 类

方法描述

指示程序元素是否符合公共语言规范 (CLS)。 此类不能被继承。

语法定义(C# System.CLSCompliantAttribute 类 的用法)

[SerializableAttribute]
[AttributeUsageAttribute(AttributeTargets.All, Inherited = true, AllowMultiple = false)]
[ComVisibleAttribute(true)]
public sealed class CLSCompliantAttribute : Attribute

构造函数

构造函数名称 构造函数描述
CLSCompliantAttribute 用布尔值初始化 CLSCompliantAttribute 类的实例,该值指示所指示的程序元素是否符合 CLS。

成员/方法

方法名称 方法描述
Equals 基础结构。返回一个值,该值指示此实例是否与指定的对象相等。 (继承自 Attribute。)
Finalize 允许对象在“垃圾回收”回收之前尝试释放资源并执行其他清理操作。 (继承自 Object。)
GetHashCode 返回此实例的哈希代码。 (继承自 Attribute。)
GetType 获取当前实例的 Type。 (继承自 Object。)
IsDefaultAttribute 当在派生类中重写时,指示此实例的值是否是派生类的默认值。 (继承自 Attribute。)
Match 当在派生类中重写时,返回一个指示此实例是否等于指定对象的值。 (继承自 Attribute。)
MemberwiseClone 创建当前 Object 的浅表副本。 (继承自 Object。)
ToString 返回表示当前对象的字符串。 (继承自 Object。)

提示和注释

可以对下列程序元素应用 CLSCompliantAttribute 特性:程序集、模块、类、结构、枚举、构造函数、方法、属性、字段、事件、接口、委托、参数和返回值。 不过,CLS 遵从性的概念仅对程序集、模块、类型和类型成员有意义,对成员签名的各部分没有意义。 因此,CLSCompliantAttribute 在应用于参数或返回值程序元素时被忽略。

如果没有将任何 CLSCompliantAttribute 应用于程序元素,则默认情况下:

程序集不符合 CLS。

只有当类型的封闭类型或程序集符合 CLS 时,该类型才符合 CLS。

仅当类型符合 CLS 时,该类型的成员才符合 CLS。

如果程序集被标记为符合 CLS,则程序集中不符合 CLS 的任何公共地公开的类型都必须由使用 false 参数的 CLSCompliantAttribute 来加以标记。 同样,如果类被标记为符合 CLS,必须分别标记所有不符合 CLS 的成员。 所有不符合 CLS 的成员必须提供符合 CLS 的相应替换成员。

应用于程序集或模块的特性必须出现在 C# using(在 Visual Basic 中为 Imports)子句之后和代码之前。

有关使用特性更多信息,请参见利用特性扩展元数据。

注意

当前的 Microsoft Visual Basic 编译器有意不生成是否符合 CLS 的警告,但是,该编译器以后的版本将会发出此警告。

System.CLSCompliantAttribute 类例子

如果用 CLSCompliantAttribute 标记此声明,则不生成任何编译器警告或错误。

[CLSCompliant(false)]
 public int SetValue(UInt32 value);

继承层次结构

System.Object

System.Attribute

System.CLSCompliantAttribute

命名空间

namespace: System

程序集: mscorlib(在 mscorlib.dll 中)

线程安全

此类型的任何公共 static(在 Visual Basic 中为 Shared) 成员都是线程安全的。但不保证所有实例成员都是线程安全的。

版本信息

.NET Framework 受以下版本支持:4、3.5、3.0、2.0、1.1、1.0 .NET Framework Client Profile 受以下版本支持:4、3.5 SP1 受以下版本支持:

适用平台

Windows 7, Windows Vista SP1 或更高版本, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008(不支持服务器核心), Windows Server 2008 R2(支持 SP1 或更高版本的服务器核心), Windows Server 2003 SP2 .NET Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求。