类文件:(Class1)
Imports System
Imports System.Reflection
<AttributeUsage(AttributeTargets.All, AllowMultiple:=True, Inherited:=True)> _
Public Class Class1
Inherits System.Attribute
Private FamilyName As String
Private GivenName As String
Public Sub New(ByVal FamilyName As String)
Me.FamilyName = FamilyName
End Sub
Public Overrides Function ToString() As String
Return String.Format("Author:{0}{1}", FamilyName, GivenName)
End Function
Public Property Family() As String
Get
Return FamilyName
End Get
Set(ByVal Value As String)
FamilyName = Value
End Set
End Property
Public Property Given() As String
Get
Return GivenName
End Get
Set(ByVal Value As String)
GivenName = Value
End Set
End Property
End Class
使用自定义属性的文件(Form3.vb)
<Class1("Watkins", Given:="Damien"), Class1("Abrams")> _
Public Class Form3
Inherits System.Windows.Forms.Form
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim t As Type = Type.GetType("WindowsApplication6.Form3")
Dim attributes As Object() = t.GetCustomAttributes(True)
Console.WriteLine("Custom Attributes are: ")
For Each o As Object In attributes
Console.WriteLine(o)
Next
End Sub
End Class