Application des attributsApplying Attributes

Effectuez la procédure suivante pour appliquer un attribut à un élément de votre code.Use the following process to apply an attribute to an element of your code.

  1. Définissez un nouvel attribut ou utilisez un attribut existant en important son espace de noms à partir de .NET Framework.Define a new attribute or use an existing attribute by importing its namespace from the .NET Framework.

  2. Appliquez l’attribut à l’élément de code en le plaçant immédiatement avant l’élément.Apply the attribute to the code element by placing it immediately before the element.

    Chaque langage possède sa propre syntaxe d’attribut.Each language has its own attribute syntax. 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.In C++ and C#, the attribute is surrounded by square brackets and separated from the element by white space, which can include a line break. 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.In Visual Basic, the attribute is surrounded by angle brackets and must be on the same logical line; the line continuation character can be used if a line break is desired.

  3. Spécifiez des paramètres positionnels et des paramètres nommés pour l’attribut.Specify positional parameters and named parameters for the attribute.

    Les paramètres positionnels sont requis et doivent précéder les paramètres nommés. Ils correspondent aux paramètres d’un des constructeurs de l’attribut.Positional parameters are required and must come before any named parameters; they correspond to the parameters of one of the attribute's constructors. Les paramètres nommés sont facultatifs et correspondent aux propriétés de lecture/écriture de l’attribut.Named parameters are optional and correspond to read/write properties of the attribute. En C++ et C#, spécifiez name=value pour chaque paramètre facultatif, où name est le nom de la propriété.In C++, and C#, specify name=value for each optional parameter, where name is the name of the property. Dans Visual Basic, spécifiez name:=value.In Visual Basic, specify 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.The attribute is emitted into metadata when you compile your code and is available to the common language runtime and any custom tool or application through the runtime reflection services.

Par convention, tous les noms d’attribut se terminent par Attribute.By convention, all attribute names end with 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.However, several languages that target the runtime, such as Visual Basic and C#, do not require you to specify the full name of an attribute. Par exemple, si vous souhaitez initialiser System.ObsoleteAttribute, vous devez uniquement le référencer en tant qu’attribut obsolète.For example, if you want to initialize System.ObsoleteAttribute, you only need to reference it as Obsolete.

Application d’un attribut à une méthodeApplying an Attribute to a Method

L’exemple de code suivant montre comment déclarer System.ObsoleteAttribute, qui marque le code comme obsolète.The following code example shows how to declare System.ObsoleteAttribute, which marks code as obsolete. La chaîne "Will be removed in next version" est passée à l’attribut.The string "Will be removed in next version" is passed to the attribute. Cet attribut provoque un avertissement du compilateur qui affiche la chaîne passée lorsque le code que l’attribut décrit est appelé.This attribute causes a compiler warning that displays the passed string when code that the attribute describes is called.

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

Application d’attributs au niveau de l’assemblyApplying Attributes at the Assembly Level

Si vous souhaitez appliquer un attribut au niveau de l’assembly, utilisez le mot-clé assembly (Assembly en Visual Basic).If you want to apply an attribute at the assembly level, use the assembly (Assembly in Visual Basic) keyword. Le code suivant illustre l’attribut AssemblyTitleAttribute appliqué au niveau de l’assembly.The following code shows the AssemblyTitleAttribute applied at the assembly level.

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.When this attribute is applied, the string "My Assembly" is placed in the assembly manifest in the metadata portion of the file. Vous pouvez afficher l’attribut à l’aide du Désassembleur MSIL (Ildasm.exe) ou en créant un programme personnalisé pour récupérer l’attribut.You can view the attribute either by using the MSIL Disassembler (Ildasm.exe) or by creating a custom program to retrieve the attribute.

Voir aussiSee also