Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Usare il processo seguente per applicare un attributo a un elemento del codice.
Definire un nuovo attributo o usare un attributo .NET esistente.
Applicare l'attributo all'elemento di codice posizionandolo immediatamente prima dell'elemento .
Ogni linguaggio ha la propria sintassi degli attributi. In C++ e C#, l'attributo è racchiuso tra parentesi quadre e separato dall'elemento da uno spazio vuoto, che può includere un'interruzione di riga. In Visual Basic l'attributo è racchiuso tra parentesi angolari e deve trovarsi nella stessa linea logica; Se si desidera un'interruzione di riga, è possibile utilizzare il carattere di continuazione della riga.
Specificare i parametri posizionali e i parametri denominati per l'attributo.
I parametri posizionali sono obbligatori e devono venire prima di qualsiasi parametro denominato; corrispondono ai parametri di uno dei costruttori dell'attributo. I parametri denominati sono facoltativi e corrispondono alle proprietà di lettura/scrittura dell'attributo. In C++ e C# specificare
name=value
per ogni parametro facoltativo, dovename
è il nome della proprietà. In Visual Basic si può specificarename:=value
.
L'attributo viene generato nei metadati quando si compila il codice ed è disponibile per il Common Language Runtime e per qualsiasi strumento o applicazione personalizzata tramite i servizi di reflection della runtime.
Per convenzione, tutti i nomi degli attributi terminano con "Attribute". Tuttavia, diversi linguaggi destinati al runtime, ad esempio Visual Basic e C#, non richiedono di specificare il nome completo di un attributo. Ad esempio, se si vuole inizializzare System.ObsoleteAttribute, è sufficiente farvi riferimento come Obsoleto.
Applicare un attributo a un metodo
Nell'esempio di codice seguente viene illustrato come usare System.ObsoleteAttribute, che contrassegna il codice come obsoleto. La stringa "Will be removed in next version"
viene passata all'attributo . Questo attributo genera un avviso del compilatore che visualizza la stringa passata quando viene chiamato il codice descritto dall'attributo.
public class Example
{
// Specify attributes between square brackets in C#.
// This attribute is applied only to the Add method.
[Obsolete("Will be removed in next version.")]
public static int Add(int a, int b)
{
return (a + b);
}
}
class Test
{
public static void Main()
{
// This generates a compile-time warning.
int i = Example.Add(2, 2);
}
}
Public Class Example
' Specify attributes between square brackets in C#.
' This attribute is applied only to the Add method.
<Obsolete("Will be removed in next version.")>
Public Shared Function Add(a As Integer, b As Integer) As Integer
Return a + b
End Function
End Class
Class Test
Public Shared Sub Main()
' This generates a compile-time warning.
Dim i As Integer = Example.Add(2, 2)
End Sub
End Class
Applicare attributi a livello di assembly
Se si desidera applicare un attributo a livello di assembly, usare la assembly
parola chiave (Assembly
in Visual Basic). Il codice seguente mostra l'oggetto AssemblyTitleAttribute applicato a livello di assembly.
using System.Reflection;
[assembly:AssemblyTitle("My Assembly")]
Imports System.Reflection
<Assembly: AssemblyTitle("My Assembly")>
Quando viene applicato questo attributo, la stringa "My Assembly"
viene inserita nel manifesto dell'assembly nella parte dei metadati del file. È possibile visualizzare l'attributo usando il disassembler IL (Ildasm.exe) o creando un programma personalizzato per recuperare l'attributo.