Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Sie können eigene benutzerdefinierte Attribute erstellen, indem Sie eine Attributklasse definieren, eine Klasse, die direkt oder indirekt von Attributedieser abgeleitet wird, wodurch die Identifizierung von Attributdefinitionen in Metadaten schnell und einfach ist. Angenommen, Sie möchten Typen mit dem Namen des Programmierers markieren, der den Typ geschrieben hat. Sie können eine benutzerdefinierte Author Attributklasse definieren:
<System.AttributeUsage(System.AttributeTargets.Class Or
System.AttributeTargets.Struct)>
Public Class Author
Inherits System.Attribute
Private name As String
Public version As Double
Sub New(ByVal authorName As String)
name = authorName
version = 1.0
End Sub
End Class
Der Klassenname ist der Name des Attributs. Author Es wird von System.Attributeabgeleitet, sodass es sich um eine benutzerdefinierte Attributklasse handelt. Die Parameter des Konstruktors sind die Positionsparameter des benutzerdefinierten Attributs. In diesem Beispiel name handelt es sich um einen Positionsparameter. Alle öffentlichen Lese-/Schreibfelder oder -eigenschaften sind benannte Parameter. In diesem Fall version ist der einzige benannte Parameter. Beachten Sie die Verwendung des AttributeUsage Attributs, um das Author Attribut nur für Klassen und Structure Deklarationen gültig zu machen.
Sie können dieses neue Attribut wie folgt verwenden:
<Author("P. Ackerman", Version:=1.1)>
Class SampleClass
' P. Ackerman's code goes here...
End Class
AttributeUsage hat einen benannten Parameter, AllowMultiple, mit dem Sie ein benutzerdefiniertes Attribut als einmalig oder mehrfach verwendbar festlegen können. Im folgenden Codebeispiel wird ein Attribut mit mehrfacher Verwendung erstellt.
' multiuse attribute
<System.AttributeUsage(System.AttributeTargets.Class Or
System.AttributeTargets.Struct,
AllowMultiple:=True)>
Public Class Author
Inherits System.Attribute
Im folgenden Codebeispiel werden mehrere Attribute desselben Typs auf eine Klasse angewendet.
<Author("P. Ackerman", Version:=1.1),
Author("R. Koch", Version:=1.2)>
Class SampleClass
' P. Ackerman's code goes here...
' R. Koch's code goes here...
End Class
Hinweis
Wenn Ihre Attributklasse eine Eigenschaft enthält, muss diese Eigenschaft lesbar und schreibbar sein.