Condividi tramite


CLSCompliantAttribute Classe

Definizione

Indica se un elemento del programma è conforme a CLS (Common Language Specification). 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 CLSCompliantAttribute oggetto all'intero assembly.

using System;
    [assembly: CLSCompliant(true)]

La dichiarazione seguente genera un avviso di conformità a 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 di programma seguenti: assembly, modulo, classe, struct, enum, costruttore, metodo, proprietà, campo, evento, interfaccia, delegato, parametro e valore restituito. Tuttavia, la nozione di conformità a CLS è significativa 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 nessun elemento CLSCompliantAttribute viene applicato a un elemento del programma, per impostazione predefinita:

  • L'assembly non è conforme a CLS.

  • Il tipo è conforme a CLS solo se il relativo tipo o assembly è 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 che non sono 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.

Nota

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

Costruttori

CLSCompliantAttribute(Boolean)

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

Proprietà

IsCompliant

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

TypeId

Quando è implementata in una classe derivata, ottiene un identificatore univoco della classe Attribute.

(Ereditato da Attribute)

Metodi

Equals(Object)

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

(Ereditato da Attribute)
GetHashCode()

Restituisce il codice hash per l'istanza.

(Ereditato da Attribute)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
IsDefaultAttribute()

In caso di 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 equivale a un oggetto specificato.

(Ereditato da Attribute)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Implementazioni dell'interfaccia esplicita

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

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

(Ereditato da Attribute)
_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.

(Ereditato da Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Recupera il numero delle 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 a proprietà e metodi esposti da un oggetto.

(Ereditato da Attribute)

Si applica a

Vedi anche