Partager via


Application des attributs

Utilisez le processus suivant pour appliquer un attribut à un élément de votre code.

  1. Définissez un nouvel attribut ou utilisez un attribut existant en important son espace de noms à partir du .NET Framework.

  2. Appliquez l'attribut à l'élément de code en le plaçant immédiatement avant l'élément.

    Chaque langage possède sa propre syntaxe d'attribut. En C++ et C#, l'attribut est entouré de crochets et séparé de l'élément par un espace blanc qui peut inclure un saut de ligne. En Visual Basic, l'attribut est entouré par des crochets angulaires et doit figurer sur la même ligne logique ; le caractère de continuation de ligne peut être utilisé si vous souhaitez un saut de ligne. En J#, l'attribut est attaché à l'aide d'une syntaxe de commentaire spéciale.

  3. Spécifiez des paramètres positionnels et des paramètres nommés pour l'attribut.

    Les paramètres positionnels sont obligatoires et doivent être placés avant tout paramètre nommé ; ils correspondent aux paramètres de l'un des constructeurs de l'attribut. Les paramètres nommés sont facultatifs et correspondent aux propriétés en lecture/écriture de l'attribut. En C++, C# et J#, spécifiez name=value, où name est le nom de la propriété, pour chaque paramètre facultatif. En Visual Basic, spécifiez name:=value.

L'attribut est émis dans les métadonnées lorsque vous compilez votre code puis mis à disposition du Common Language Runtime et des applications ou outils personnalisés par l'intermédiaire des services de réflexion de l'exécution.

Par convention, tous les noms d'attributs se terminent par Attribute. Cependant, plusieurs langages qui ciblent le runtime, tels que Visual Basic et C#, n'exigent pas que vous spécifiiez le nom complet d'un attribut. Par exemple, pour initialiser System.ObsoleteAttribute, il vous suffit de le référencer en tant qu'Obsolete.

Application d'un attribut à une méthode

L'exemple de code suivant montre comment déclarer System.ObsoleteAttribute, qui marque le code comme étant obsolète. La chaîne "Will be removed in next version" est passée à l'attribut. Cet attribut provoque un avertissement du compilateur qui affiche la chaîne passée lorsque le code décrit par l'attribut est appelé.

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
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 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();
}

Application des attributs au niveau de l'assembly

Si vous souhaitez appliquer un attribut au niveau de l'assembly, utilisez le mot clé Assembly. Le code suivant indique le AssemblyNameAttribute appliqué au niveau de l'assembly.

Imports System.Reflection
<Assembly:AssemblyTitle("My Assembly")>
using System.Reflection;
[assembly:AssemblyTitle("My Assembly")]
using namespace System::Reflection;
[assembly:AssemblyTitle("My Assembly")];

Lorsque cet attribut est appliqué, la chaîne "MyAssembly" est placée dans le manifeste d'assembly, dans la partie métadonnées du fichier. Vous pouvez visualiser l'attribut en utilisant le Désassembleur MSIL (Ildasm.exe) ou en créant un programme personnalisé pour récupérer l'attribut.

Voir aussi

Référence

Attributs (C# et Visual Basic)

Concepts

Extension des métadonnées à l'aide des attributs

Récupération des informations stockées dans les attributs

Autres ressources

Attributed Programming Concepts