CLSCompliantAttribute Classe

Definizione

Indica se un elemento del programma è conforme a Common Language Specification (CLS). La classe non può essere ereditata.

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
Ereditarietà
CLSCompliantAttribute
Attributi

Esempio

Nell'esempio seguente viene applicato un oggetto CLSCompliantAttribute all'intero assembly.

using System;
    [assembly: CLSCompliant(true)]

La dichiarazione seguente genera un avviso di conformità CLS perché il tipo UInt32 non è specificato in CLS.

public int SetValue(UInt32 value);

Se la dichiarazione è contrassegnata con , CLSCompliantAttributenon viene generato alcun avviso o errore del compilatore.

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

Commenti

L'attributo CLSCompliantAttribute viene usato per indicare se un particolare elemento di programma è conforme a Common Language Specification (CLS), che definisce le funzionalità che qualsiasi linguaggio destinato a .NET deve supportare. La conformità a CLS riguarda principalmente gli sviluppatori di librerie che vogliono assicurarsi che le librerie siano accessibili in qualsiasi linguaggio destinato a .NET. Per altre informazioni, vedere Language Independence and Language-Independent Components.For more information, See Language Independence and Language-Independent Components.

È possibile applicare l'attributo CLSCompliantAttribute agli elementi del programma seguenti: assembly, modulo, classe, struct, enum, costruttore, metodo, proprietà, campo, evento, interfaccia, delegato, parametro e valore restituito. Tuttavia, il concetto di conformità CLS è significativo solo per assembly, moduli, tipi e membri di tipi, non parti di una firma membro. Di conseguenza, CLSCompliantAttribute viene ignorato quando viene applicato agli elementi del programma di parametri o valori restituiti.

Se non viene applicato alcun CLSCompliantAttribute elemento di programma, per impostazione predefinita:

  • L'assembly non è conforme a CLS.

  • Il tipo è conforme a CLS solo se il tipo o l'assembly di inclusione è conforme a CLS.

  • Il membro di un tipo è conforme a CLS solo se il tipo è conforme a CLS.

Se un assembly è contrassegnato come conforme a CLS, qualsiasi tipo esposto pubblicamente nell'assembly non conforme a CLS deve essere contrassegnato con CLSCompliantAttribute un false argomento . Analogamente, se una classe è contrassegnata come conforme a CLS, è necessario contrassegnare singolarmente tutti i membri non conformi a CLS. Tutti i membri non conformi devono fornire alternative conformi a CLS corrispondenti.

Gli attributi applicati agli assembly o ai moduli devono verificarsi dopo le clausole C# using (Imports in Visual Basic) e prima del codice.

Per altre informazioni sull'uso degli attributi, vedere Attributi.

Note

Il compilatore corrente Microsoft Visual Basic non genera intenzionalmente un avviso di conformità a CLS, ma una versione futura del compilatore genererà tale avviso.

Costruttori

Nome Descrizione
CLSCompliantAttribute(Boolean)

Inizializza un'istanza della CLSCompliantAttribute classe con un valore booleano che indica se l'elemento di programma indicato è conforme a CLS.

Proprietà

Nome Descrizione
IsCompliant

Ottiene il valore booleano che indica se l'elemento di programma indicato è conforme a CLS.

TypeId

Se implementato in una classe derivata, ottiene un identificatore univoco per questo Attribute.

(Ereditato da Attribute)

Metodi

Nome Descrizione
Equals(Object)

Restituisce un valore che indica se questa istanza è uguale a un oggetto specificato.

(Ereditato da Attribute)
GetHashCode()

Restituisce il codice hash per questa istanza.

(Ereditato da Attribute)
GetType()

Ottiene il Type dell'istanza corrente.

(Ereditato da Object)
IsDefaultAttribute()

Quando sottoposto a override in una classe derivata, indica se il valore di questa istanza è il valore predefinito per la classe derivata.

(Ereditato da Attribute)
Match(Object)

Quando sottoposto a override in una classe derivata, restituisce un valore che indica se questa istanza è uguale a un oggetto specificato.

(Ereditato da Attribute)
MemberwiseClone()

Crea una copia superficiale del Objectcorrente.

(Ereditato da Object)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Implementazioni dell'interfaccia esplicita

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

Esegue il mapping di un set di nomi a un set corrispondente di identificatori dispatch.

(Ereditato da Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Recupera le informazioni sul tipo per un oggetto, che può essere utilizzato per ottenere le informazioni sul tipo per un'interfaccia.

(Ereditato da Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Recupera il numero di interfacce di informazioni sul tipo fornite da un oggetto (0 o 1).

(Ereditato da Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Fornisce l'accesso alle proprietà e ai metodi esposti da un oggetto .

(Ereditato da Attribute)

Si applica a

Vedi anche