CLSCompliantAttribute CLSCompliantAttribute CLSCompliantAttribute CLSCompliantAttribute Class

Definizione

Indica se un elemento del programma è conforme a CLS (Common Language Specification).Indicates whether a program element is compliant with the Common Language Specification (CLS). Questa classe non può essere ereditata.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
Ereditarietà
CLSCompliantAttributeCLSCompliantAttributeCLSCompliantAttributeCLSCompliantAttribute
Attributi

Esempi

L'esempio seguente applica una CLSCompliantAttribute all'intero assembly.The following example applies a CLSCompliantAttribute to the entire assembly.

using System;  
    [assembly: CLSCompliant(true)]  

La dichiarazione seguente genera un avviso di conformità a CLS perché il tipo UInt32 non viene specificato in CLS.The following declaration generates a CLS-compliance warning because the type UInt32 is not specified in the CLS.

public int SetValue(UInt32 value);  

Se la dichiarazione è contrassegnata con un CLSCompliantAttribute, non viene generato alcun errore o avviso del compilatore.If the declaration is marked with a CLSCompliantAttribute, no compiler warning or error is generated.

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

Commenti

L'attributo CLSCompliantAttribute viene utilizzato per indicare se un elemento specifico del programma è conforme a CLS (Common Language Specification), che definisce le funzionalità che deve supportare ogni linguaggio destinato a .NET Framework.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 compatibilità con CLS riguarda principalmente gli sviluppatori di librerie che desiderano assicurarsi che le librerie siano accessibili in qualsiasi linguaggio destinato a .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. Per altre informazioni, vedere Language Independence and Language-Independent Components.For more information, See Language Independence and Language-Independent Components.

È possibile applicare il CLSCompliantAttribute attributo per gli elementi di programma seguenti: assembly, modulo, classe, struct, enum, costruttore, metodo, proprietà, campo, evento, interfaccia, delegato, parametro e valore restituito.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. Tuttavia, il concetto di conformità a CLS è solo significativo per gli assembly, moduli, tipi e membri dei tipi, non di parti di una firma del membro.However, the notion of CLS compliance is only meaningful for assemblies, modules, types, and members of types, not parts of a member signature. Di conseguenza, CLSCompliantAttribute viene ignorato se applicato al parametro o valore restituito gli elementi del programma.Consequently, CLSCompliantAttribute is ignored when applied to parameter or return value program elements.

Se nessun CLSCompliantAttribute viene applicato a un elemento del programma, quindi per impostazione predefinita:If no CLSCompliantAttribute is applied to a program element, then by default:

  • L'assembly non è conforme a CLS.The assembly is not CLS-compliant.

  • Il tipo è conforme a CLS solo se il tipo o assembly contenitore è conforme a CLS.The type is CLS-compliant only if its enclosing type or assembly is CLS-compliant.

  • Il membro di un tipo è conforme a CLS solo se il tipo è conforme a CLS.The member of a type is CLS-compliant only if the type is CLS-compliant.

Se un assembly è contrassegnato come conforme a CLS, debba essere contrassegnato con qualsiasi tipo esposto pubblicamente nell'assembly che non è conforme a CLS CLSCompliantAttribute usando un false argomento.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. Analogamente, se una classe è contrassegnata come conforme a CLS, è necessario contrassegnare singolarmente tutti i membri che non sono conformi a CLS.Similarly, if a class is marked as CLS-compliant, you must individually mark all members that are not CLS-compliant. Tutti i membri non conformi devono fornire alternative conformi a CLS corrispondenti.All non-compliant members must provide corresponding CLS-compliant alternatives.

Gli attributi applicati a moduli o assembly devono trovarsi dopo il codice C# using (Imports in Visual Basic) le clausole e prima del codice.Attributes that are applied to assemblies or modules must occur after the C# using (Imports in Visual Basic) clauses and before the code.

Per altre informazioni sull'utilizzo di attributi, vedere attributi.For more information about using attributes, see Attributes.

Nota

Il compilatore Microsoft Visual Basic corrente intenzionalmente non genera un avviso di conformità a CLS, tuttavia, tale avviso verrà generato da una versione futura del compilatore.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.

Costruttori

CLSCompliantAttribute(Boolean) CLSCompliantAttribute(Boolean) CLSCompliantAttribute(Boolean) CLSCompliantAttribute(Boolean)

Inizializza un'istanza della classe CLSCompliantAttribute con un valore Boolean che definisce se l'elemento di programma indicato è conforme a CLS.Initializes an instance of the CLSCompliantAttribute class with a Boolean value indicating whether the indicated program element is CLS-compliant.

Proprietà

IsCompliant IsCompliant IsCompliant IsCompliant

Ottiene il valore Boolean che definisce se l'elemento di programma indicato è conforme a CLS.Gets the Boolean value indicating whether the indicated program element is CLS-compliant.

TypeId TypeId TypeId TypeId

Quando è implementata in una classe derivata, ottiene un identificatore univoco della classe Attribute.When implemented in a derived class, gets a unique identifier for this Attribute.

(Inherited from Attribute)

Metodi

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Restituisce un valore che indica se questa istanza è uguale a un oggetto specificato.Returns a value that indicates whether this instance is equal to a specified object.

(Inherited from Attribute)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Restituisce il codice hash per l'istanza.Returns the hash code for this instance.

(Inherited from Attribute)
GetType() GetType() GetType() GetType()

Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance.

(Inherited from Object)
IsDefaultAttribute() IsDefaultAttribute() IsDefaultAttribute() IsDefaultAttribute()

In caso di override in una classe derivata, indica se il valore di questa istanza è il valore predefinito per la classe derivata.When overridden in a derived class, indicates whether the value of this instance is the default value for the derived class.

(Inherited from Attribute)
Match(Object) Match(Object) Match(Object) Match(Object)

Quando è sottoposto a override in una classe derivata, restituisce un valore che indica se questa istanza equivale a un oggetto specificato.When overridden in a derived class, returns a value that indicates whether this instance equals a specified object.

(Inherited from Attribute)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.Returns a string that represents the current object.

(Inherited from Object)

Implementazioni dell'interfaccia esplicita

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

Esegue il mapping di un set di nomi a un set corrispondente di ID dispatch.Maps a set of names to a corresponding set of dispatch identifiers.

(Inherited from Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Recupera le informazioni sul tipo relative a un oggetto, che possono essere usate per ottenere informazioni sul tipo relative a un'interfaccia.Retrieves the type information for an object, which can be used to get the type information for an interface.

(Inherited from Attribute)
_Attribute.GetTypeInfoCount(UInt32) _Attribute.GetTypeInfoCount(UInt32) _Attribute.GetTypeInfoCount(UInt32) _Attribute.GetTypeInfoCount(UInt32)

Recupera il numero delle interfacce di informazioni sul tipo fornite da un oggetto (0 o 1).Retrieves the number of type information interfaces that an object provides (either 0 or 1).

(Inherited from Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Fornisce l'accesso a proprietà e metodi esposti da un oggetto.Provides access to properties and methods exposed by an object.

(Inherited from Attribute)

Si applica a

Vedi anche