Attributi (Guida per programmatori C#)
Aggiornamento: Luglio 2008
Gli attributi offrono un metodo efficace per l'associazione di informazioni dichiarative con codice C# (tipi, metodi, proprietà e così via). È possibile eseguire una query su un attributo in fase di esecuzione dopo averlo associato a un'entità di programma, utilizzando una tecnica denominata reflection. Per ulteriori informazioni, vedere Reflection (Guida per programmatori C#).
Esistono due tipi di attributi:
Attributi definiti in Common Language Runtime (CLR).
Attributi personalizzati che è possibile creare per aggiungere informazioni supplementari al codice. Queste informazioni possono essere recuperate successivamente a livello di codice.
Nell'esempio riportato di seguito viene utilizzato l'attributo TypeAttributes.Serializable per applicare una caratteristica specifica a una classe:
[System.Serializable]
public class SampleClass
{
// Objects of this type can be serialized.
}
Cenni preliminari sugli attributi
Di seguito sono riportate le caratteristiche principali degli attributi:
Aggiungono metadati al programma. I metadati sono informazioni sui tipi definiti in un programma. Tutti gli assembly .NET contengono un set di metadati specificato che descrive i tipi e i membri dei tipi definiti nell'assembly. È possibile aggiungere attributi personalizzati per specificare le eventuali informazioni aggiuntive richieste.
Il programma può eseminare i metadati del programma stesso o di altri programmi utilizzando la riflessione. Per ulteriori informazioni, vedere Accesso agli attributi mediante reflection (Guida per programmatori C#).
Attributi come MarshallAs, vengono ampiamente utilizzati in scenari di interoperabilità COM. Per ulteriori informazioni, vedere System.Runtime.InteropServices.MarshalAsAttribute e System.Runtime.InteropServices.StructLayoutAttribute.
Sezioni correlate
Per ulteriori informazioni, vedere:
Creazione di attributi personalizzati (Guida per programmatori C#)
Risolvere le ambiguità sulle destinazioni degli attributi (Guida per programmatori C#)
Accesso agli attributi mediante reflection (Guida per programmatori C#)
Procedura: creare un'unione C/C++ mediante attributi (Guida per programmatori C#)
Specifiche del linguaggio C#
Per ulteriori informazioni, vedere le seguenti sezioni incluse in Specifiche del linguaggio C#:
10.2.1 Attributi
17 Attributi
Vedere anche
Concetti
Cenni preliminari sugli attributi
Utilizzi comuni degli attributi
Riferimenti
Reflection (Guida per programmatori C#)
Cronologia delle modifiche
Data |
Cronologia |
Motivo |
---|---|---|
Luglio 2008 |
Sezione sui cenni preliminari aggiornata. |
Correzione di errori nel contenuto. |