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 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à
- 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) |