Appliquer des attributs

Effectuez la procédure suivante pour appliquer un attribut à un élément de votre code.

  1. Définissez un nouvel attribut ou utilisez un attribut .NET existant.

  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. Dans C++ et C#, l’attribut est entouré par des crochets et séparé de l’élément par un espace blanc, qui peut inclure un saut de ligne. Dans Visual Basic, l’attribut est entouré par des crochets angulaires et doit se trouver sur la même ligne logique. Le caractère de continuation de ligne peut être utilisé si vous souhaitez un saut de ligne.

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

    Les paramètres positionnels sont obligatoires et doivent précéder les paramètres nommés. Ils correspondent aux paramètres d’un des constructeurs de l’attribut. Les paramètres nommés sont facultatifs et correspondent aux propriétés de lecture/écriture de l’attribut. En C++ et C#, spécifiez name=value pour chaque paramètre facultatif, où name est le nom de la propriété. Dans Visual Basic, spécifiez name:=value.

L’attribut est émis dans des métadonnées lorsque vous compilez votre code et est disponible pour le common language runtime et toute application ou tout outil personnalisé via les services de réflexion du runtime.

Par convention, tous les noms d’attribut se terminent par « Attribute ». Toutefois, plusieurs langages qui ciblent le runtime, tels que Visual Basic et C#, ne nécessitent pas de spécifier le nom complet d’un attribut. Par exemple, si vous souhaitez initialiser System.ObsoleteAttribute, vous devez uniquement le référencer en tant qu’attribut obsolète.

Appliquer un attribut à une méthode

L’exemple de code suivant montre comment utiliser System.ObsoleteAttribute, qui marque le code comme 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 que l’attribut décrit est appelé.

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

Appliquer des attributs au niveau de l’assembly

Si vous souhaitez appliquer un attribut au niveau de l’assembly, utilisez le mot clé assembly (Assembly en Visual Basic). Le code suivant illustre l’attribut AssemblyTitleAttribute appliqué au niveau de l’assembly.

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

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

Voir aussi