Udostępnij za pośrednictwem


Stosowanie atrybutów

Użyj następującego procesu, aby zastosować atrybut do elementu kodu.

  1. Zdefiniuj nowy atrybut lub użyj istniejącego atrybutu platformy .NET.

  2. Zastosuj atrybut do elementu kodu, umieszczając go bezpośrednio przed elementem.

    Każdy język ma własną składnię atrybutów. W językach C++ i C# atrybut jest otoczony nawiasami kwadratowymi i oddzielony od elementu białym znakiem, który może zawierać podział wiersza. W Visual Basic atrybut jest otoczony nawiasami kątowymi i musi znajdować się w tym samym wierszu logicznym; znak kontynuacji wiersza może być używany, jeżeli chcemy podzielić wiersz.

  3. Określ parametry pozycyjne i nazwane parametry atrybutu.

    Parametry pozycyjne są wymagane i muszą znajdować się przed dowolnymi nazwanych parametrami; odpowiadają parametrom jednego z konstruktorów atrybutu. Nazwane parametry są opcjonalne i odpowiadają właściwościom odczytu/zapisu atrybutu. W języku C++i C#określ name=value dla każdego opcjonalnego parametru, gdzie name jest nazwą właściwości. W języku Visual Basic określ wartość name:=value.

Atrybut jest emitowany do metadanych podczas kompilowania kodu i jest dostępny dla środowiska uruchomieniowego języka wspólnego oraz dowolnego niestandardowego narzędzia lub aplikacji za pośrednictwem usług odbicia środowiska uruchomieniowego.

Zgodnie z konwencją wszystkie nazwy atrybutów kończą się ciągiem "Attribute". Jednak kilka języków przeznaczonych dla środowiska uruchomieniowego, takich jak Visual Basic i C#, nie wymaga określenia pełnej nazwy atrybutu. Jeśli na przykład chcesz zainicjować System.ObsoleteAttribute, wystarczy, że odwołasz się do niego jako Obsolete.

Stosowanie atrybutu do metody

W poniższym przykładzie kodu pokazano, jak używać elementu System.ObsoleteAttribute, który oznacza kod jako przestarzały. Ciąg "Will be removed in next version" jest przekazywany do atrybutu. Ten atrybut powoduje ostrzeżenie kompilatora, które wyświetla przekazany ciąg po wywołaniu kodu, który opisuje atrybut.

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

Stosowanie atrybutów na poziomie zestawu

Jeśli chcesz zastosować atrybut na poziomie zestawu, użyj słowa kluczowego assembly (Assembly w Visual Basic). Poniższy kod przedstawia AssemblyTitleAttribute zastosowane na poziomie zestawu.

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

Po zastosowaniu tego atrybutu ciąg "My Assembly" zostanie umieszczony w manifeście zestawu w części metadanych pliku. Atrybut można wyświetlić za pomocą dezasemblera IL (Ildasm.exe) lub tworząc program niestandardowy w celu pobrania atrybutu.

Zobacz także