BCL mscorlib [00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00 ] 1.0.5000.0 2.0.0.0 4.0.0.0 All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe. System.Attribute System.AttributeUsage(System.AttributeTargets.All) System.Runtime.InteropServices.ComVisible(true)

The attribute is used to indicate whether a particular program element complies with the Common Language Specification (CLS), which defines the features that any language that targets the .NET Framework must support. CLS compliance is primarily of concern to library developers who want to ensure that their libraries are accessible in any language that targets the .NET Framework. For more information, See Language Independence and Language-Independent Components.

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.

For more information about using attributes, see [<topic://cpconExtendingMetadataUsingAttributes>].

The current Microsoft Visual Basic compiler intentionally does not generate a CLS-compliance warning, however, a future release of the compiler will issue that warning.

Indicates whether a program element is compliant with the Common Language Specification (CLS). This class cannot be inherited.

- Constructor
  1.0.5000.0
  2.0.0.0
  4.0.0.0
  To be added.

  Initializes an instance of the class with a Boolean value indicating whether the indicated program element is CLS-compliant.

  true if CLS-compliant; otherwise, false.
  0
- Property
  1.0.5000.0
  2.0.0.0
  4.0.0.0
  System.Boolean

  if the target of the current instance complies with the CLS; otherwise, .

  This property is read-only.

  Gets the Boolean value indicating whether the indicated program element is CLS-compliant.

  0
0