CLSCompliantAttribute Classe

Définition

Indique si un élément de programme est conforme à la spécification CLS (Common Language Specification).Indicates whether a program element is compliant with the Common Language Specification (CLS). Cette classe ne peut pas être héritée.This class cannot be inherited.

public ref class CLSCompliantAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.All, AllowMultiple=false, Inherited=true)]
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public sealed class CLSCompliantAttribute : Attribute
type CLSCompliantAttribute = class
    inherit Attribute
Public NotInheritable Class CLSCompliantAttribute
Inherits Attribute
Héritage
CLSCompliantAttribute
Attributs

Exemples

L’exemple suivant applique un CLSCompliantAttribute à l’assembly entier.The following example applies a CLSCompliantAttribute to the entire assembly.

using System;  
    [assembly: CLSCompliant(true)]  

La déclaration suivante génère un avertissement de conformité CLS, car le UInt32 type n’est pas spécifié dans la spécification CLS.The following declaration generates a CLS-compliance warning because the type UInt32 is not specified in the CLS.

public int SetValue(UInt32 value);  

Si la déclaration est marquée avec un CLSCompliantAttribute, aucun avertissement ou erreur du compilateur n’est généré.If the declaration is marked with a CLSCompliantAttribute, no compiler warning or error is generated.

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

Remarques

L' CLSCompliantAttribute attribut est utilisé pour indiquer si un élément de programme particulier est conforme au Common Language Specification (CLS), qui définit les fonctionnalités que n’importe quel langage qui cible le .NET Framework doit prendre en charge.The CLSCompliantAttribute 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. La conformité CLS est principalement une préoccupation pour les développeurs de bibliothèques qui souhaitent s’assurer que leurs bibliothèques sont accessibles dans n’importe quel langage qui cible le .NET Framework.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. Pour plus d’informations, consultez indépendance du langage et composants indépendants du langage.For more information, See Language Independence and Language-Independent Components.

Vous pouvez appliquer l' CLSCompliantAttribute attribut aux éléments de programme suivants: assembly, module, classe, struct, enum, constructeur, méthode, propriété, champ, événement, interface, délégué, paramètre et valeur de retour.You can apply the CLSCompliantAttribute attribute to the following program elements: assembly, module, class, struct, enum, constructor, method, property, field, event, interface, delegate, parameter, and return value. Toutefois, la notion de conformité CLS n’est significative que pour les assemblys, les modules, les types et les membres de types, et non les parties d’une signature de membre.However, the notion of CLS compliance is only meaningful for assemblies, modules, types, and members of types, not parts of a member signature. Par conséquent CLSCompliantAttribute , est ignoré lorsqu’il est appliqué à des éléments de programme de paramètre ou de valeur de retour.Consequently, CLSCompliantAttribute is ignored when applied to parameter or return value program elements.

Si aucun CLSCompliantAttribute n’est appliqué à un élément de programme, par défaut:If no CLSCompliantAttribute is applied to a program element, then by default:

  • L’assembly n’est pas conforme CLS.The assembly is not CLS-compliant.

  • Le type est conforme CLS uniquement si son type englobant ou son assembly est conforme CLS.The type is CLS-compliant only if its enclosing type or assembly is CLS-compliant.

  • Le membre d’un type est conforme CLS uniquement si le type est conforme CLS.The member of a type is CLS-compliant only if the type is CLS-compliant.

Si un assembly est marqué comme conforme CLS, tout type exposé publiquement dans l’assembly qui n’est pas conforme CLS doit être marqué avec CLSCompliantAttribute à l' false aide d’un argument.If an assembly is marked as CLS-compliant, any publicly exposed type in the assembly that is not CLS-compliant must be marked with CLSCompliantAttribute using a false argument. De même, si une classe est marquée comme conforme CLS, vous devez marquer individuellement tous les membres qui ne sont pas conformes à CLS.Similarly, if a class is marked as CLS-compliant, you must individually mark all members that are not CLS-compliant. Tous les membres non conformes doivent fournir des alternatives conformes CLS correspondantes.All non-compliant members must provide corresponding CLS-compliant alternatives.

Les attributs qui sont appliqués aux assemblys ou aux modules doivent se C# using produireImports après les clauses (dans Visual Basic) et avant le code.Attributes that are applied to assemblies or modules must occur after the C# using (Imports in Visual Basic) clauses and before the code.

Pour plus d’informations sur l’utilisation d’attributs, consultez attributs.For more information about using attributes, see Attributes.

Notes

Le compilateur Microsoft Visual Basic actuel ne génère pas intentionnellement un avertissement de conformité CLS, toutefois, une version ultérieure du compilateur émettra cet avertissement.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.

Constructeurs

CLSCompliantAttribute(Boolean)

Initialise une instance de la classe CLSCompliantAttribute avec une valeur Boolean indiquant si l'élément de programme indiqué est conforme CLS.Initializes an instance of the CLSCompliantAttribute class with a Boolean value indicating whether the indicated program element is CLS-compliant.

Propriétés

IsCompliant

Obtient la valeur Boolean indiquant si l'élément de programme indiqué est conforme CLS.Gets the Boolean value indicating whether the indicated program element is CLS-compliant.

TypeId

Lors de l'implémentation dans une classe dérivée, obtient un identificateur unique pour l'objet Attribute.When implemented in a derived class, gets a unique identifier for this Attribute.

(Hérité de Attribute)

Méthodes

Equals(Object)

Retourne une valeur qui indique si cette instance est égale à un objet spécifié.Returns a value that indicates whether this instance is equal to a specified object.

(Hérité de Attribute)
GetHashCode()

Retourne le code de hachage de cette instance.Returns the hash code for this instance.

(Hérité de Attribute)
GetType()

Obtient le Type de l'instance actuelle.Gets the Type of the current instance.

(Hérité de Object)
IsDefaultAttribute()

En cas de substitution dans une classe dérivée, indique si la valeur de cette instance est la valeur par défaut pour la classe dérivée.When overridden in a derived class, indicates whether the value of this instance is the default value for the derived class.

(Hérité de Attribute)
Match(Object)

En cas de substitution dans une classe dérivée, retourne une valeur indiquant si cette instance équivaut à un objet spécifié.When overridden in a derived class, returns a value that indicates whether this instance equals a specified object.

(Hérité de Attribute)
MemberwiseClone()

Crée une copie superficielle de l'objet Object actuel.Creates a shallow copy of the current Object.

(Hérité de Object)
ToString()

Retourne une chaîne qui représente l'objet actuel.Returns a string that represents the current object.

(Hérité de Object)

Implémentations d’interfaces explicites

_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Mappe un jeu de noms avec un jeu correspondant d'identificateurs de dispatch.Maps a set of names to a corresponding set of dispatch identifiers.

(Hérité de Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Récupère les informations de type pour un objet, qui peuvent être utilisées pour obtenir les informations de type d'une interface.Retrieves the type information for an object, which can be used to get the type information for an interface.

(Hérité de Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Récupère le nombre d'interfaces d'informations de type fourni par un objet (0 ou 1).Retrieves the number of type information interfaces that an object provides (either 0 or 1).

(Hérité de Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Fournit l'accès aux propriétés et aux méthodes exposées par un objet.Provides access to properties and methods exposed by an object.

(Hérité de Attribute)

S’applique à

Voir aussi