CLSCompliantAttribute Classe

Définition

Indique si un élément de programme est conforme à la spécification CLS (Common Language Specification). Cette classe ne peut pas être héritée.

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

Exemples

L’exemple suivant applique un CLSCompliantAttribute assembly entier.

using System;
    [assembly: CLSCompliant(true)]

La déclaration suivante génère un avertissement de conformité CLS, car le type UInt32 n’est pas spécifié dans le 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é.

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

Remarques

L’attribut CLSCompliantAttribute est utilisé pour indiquer si un élément de programme particulier est conforme à la spécification CLS (Common Language Specification), qui définit les fonctionnalités prises en charge par n’importe quel langage qui cible .NET. La conformité CLS concerne principalement les développeurs de bibliothèques qui souhaitent s’assurer que leurs bibliothèques sont accessibles dans n’importe quel langage qui cible .NET. Pour plus d’informations, consultez Language Independence and Language-Independent Components.

Vous pouvez appliquer l’attribut CLSCompliantAttribute aux éléments de programme suivants : assembly, module, classe, struct, énumération, constructeur, méthode, propriété, champ, événement, interface, délégué, paramètre et valeur de retour. Toutefois, la notion de conformité CLS n’est significative que pour les assemblys, les modules, les types et les membres de types, et non pour les parties d’une signature membre. Par conséquent, CLSCompliantAttribute il est ignoré lorsqu’il est appliqué aux éléments de programme de paramètre ou de valeur de retour.

Si aucun élément de programme n’est CLSCompliantAttribute appliqué, par défaut :

  • L’assembly n’est pas conforme CLS.

  • Le type est conforme CLS uniquement si son type englobant ou son assembly est conforme à CLS.

  • Le membre d’un type est conforme CLS uniquement si le type est conforme CLS.

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’utilisation d’un 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. Tous les membres non conformes doivent fournir des alternatives compatibles CLS correspondantes.

Les attributs appliqués aux assemblys ou aux modules doivent se produire après les clauses C# using (Importsdans Visual Basic) et avant le code.

Pour plus d’informations sur l’utilisation d’attributs, consultez Attributs.

Notes

Le compilateur microsoft Visual Basic actuel ne génère pas intentionnellement d’avertissement de conformité CLS. Toutefois, une version ultérieure du compilateur émet cet avertissement.

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.

Propriétés

IsCompliant

Obtient la valeur Boolean indiquant si l'élément de programme indiqué est conforme CLS.

TypeId

Lors de l'implémentation dans une classe dérivée, obtient un identificateur unique pour l'objet Attribute.

(Hérité de Attribute)

Méthodes

Equals(Object)

Retourne une valeur qui indique si cette instance est égale à un objet spécifié.

(Hérité de Attribute)
GetHashCode()

Retourne le code de hachage de cette instance.

(Hérité de Attribute)
GetType()

Obtient le Type de l'instance actuelle.

(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.

(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é.

(Hérité de Attribute)
MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
ToString()

Retourne une chaîne qui représente l'objet actuel.

(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.

(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.

(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).

(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.

(Hérité de Attribute)

S’applique à

Voir aussi