[This documentation is for preview only, and is subject to change in later releases. Blank topics are included as placeholders.]
Indicates whether a program element is compliant with the Common Language Specification (CLS). This class cannot be inherited.
Assembly: mscorlib (in mscorlib.dll)
Thetype exposes the following members.
|Equals(Object)||Determines whether the specified Object is equal to the current Object. (Inherited from Object.)|
|GetHashCode||Serves as a hash function for a particular type. (Inherited from Object.)|
|GetType||Gets the Type of the current instance. (Inherited from Object.)|
|ToString||Returns a string that represents the current object. (Inherited from Object.)|
You can apply the attribute to the following program elements: assembly, module, class, struct, enum, constructor, method, property, field, event, interface, delegate, parameter, and return value. However, the notion of CLS compliance is only meaningful for assemblies, modules, types, and members of types, not parts of a member signature. Consequently, is ignored when applied to parameter or return value program elements.
If no is applied to a program element, then by default:
The assembly is not CLS-compliant.
The type is CLS-compliant only if its enclosing type or assembly is CLS-compliant.
The member of a type is CLS-compliant only if the type is CLS-compliant.
If an assembly is marked as CLS-compliant, any publicly exposed type in the assembly that is not CLS-compliant must be marked with using a false argument. Similarly, if a class is marked as CLS-compliant, you must individually mark all members that are not CLS-compliant. All non-compliant members must provide corresponding CLS-compliant alternatives.
Attributes that are applied to assemblies or modules must occur after the C# using (Imports in Visual Basic) clauses and before the code.