CLSCompliantAttribute Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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à
- 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) |