Kenmerken toepassen
Gebruik het volgende proces om een kenmerk toe te passen op een element van uw code.
Definieer een nieuw kenmerk of gebruik een bestaand .NET-kenmerk.
Pas het kenmerk toe op het code-element door het direct voor het element te plaatsen.
Elke taal heeft een eigen kenmerksyntaxis. In C++ en C# wordt het kenmerk omgeven door vierkante haken en gescheiden van het element door witruimte, dat een regeleinde kan bevatten. In Visual Basic wordt het kenmerk omgeven door punthaken en moet het zich op dezelfde logische lijn bevinden; het vervolgteken voor de regel kan worden gebruikt als een regeleinde gewenst is.
Geef positionele parameters en benoemde parameters op voor het kenmerk.
Positionele parameters zijn vereist en moeten vóór benoemde parameters komen; ze komen overeen met de parameters van een van de constructors van het kenmerk. Benoemde parameters zijn optioneel en komen overeen met lees-/schrijfeigenschappen van het kenmerk. Geef
name=value
in C++en C# op voor elke optionele parameter, waarbijname
de naam van de eigenschap is. Geefname:=value
in Visual Basic op.
Het kenmerk wordt verzonden naar metagegevens wanneer u uw code compileert en beschikbaar is voor de algemene taalruntime en alle aangepaste hulpprogramma's of toepassingen via de runtime-reflectieservices.
Volgens de conventie eindigen alle kenmerknamen met 'Kenmerk'. Voor verschillende talen die gericht zijn op de runtime, zoals Visual Basic en C#, hoeft u echter niet de volledige naam van een kenmerk op te geven. Als u bijvoorbeeld wilt initialiseren System.ObsoleteAttribute, hoeft u er alleen naar te verwijzen als Verouderd.
Een kenmerk toepassen op een methode
In het volgende codevoorbeeld ziet u hoe u System.ObsoleteAttribute gebruikt, waarmee code als verouderd wordt gemarkeerd. De tekenreeks "Will be removed in next version"
wordt doorgegeven aan het kenmerk. Dit kenmerk veroorzaakt een compilerwaarschuwing die de doorgegeven tekenreeks weergeeft wanneer code die door het kenmerk wordt beschreven, wordt aangeroepen.
public ref class Example
{
// Specify attributes between square brackets in C#.
// This attribute is applied only to the Add method.
public:
[Obsolete("Will be removed in next version.")]
static int Add(int a, int b)
{
return (a + b);
}
};
ref class Test
{
public:
static void Main()
{
// This generates a compile-time warning.
int i = Example::Add(2, 2);
}
};
int main()
{
Test::Main();
}
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
Kenmerken toepassen op assemblyniveau
Als u een kenmerk op assemblyniveau wilt toepassen, gebruikt u het assembly
trefwoord (Assembly
in Visual Basic). De volgende code toont de AssemblyTitleAttribute die op assemblyniveau is toegepast.
using namespace System::Reflection;
[assembly:AssemblyTitle("My Assembly")];
using System.Reflection;
[assembly:AssemblyTitle("My Assembly")]
Imports System.Reflection
<Assembly: AssemblyTitle("My Assembly")>
Wanneer dit kenmerk wordt toegepast, wordt de tekenreeks "My Assembly"
in het assemblymanifest geplaatst in het metagegevensgedeelte van het bestand. U kunt het kenmerk weergeven met behulp van de IL Disassembler (Ildasm.exe) of door een aangepast programma te maken om het kenmerk op te halen.