Language Basics VB.Net

Imports System
Imports System.Reflection
Public Module CustomAttrVB
    Public Enum Employee
        A = 1
        B
        C
    End Enum
     _
    Public Class EmployeeTypeAttribute
        Inherits Attribute
        Public Sub New(ByVal emp As Employee)
            Me.theEmp = emp
        End Sub
        Protected theEmp As Employee
        Public Property Pet() As Employee
            Get
                Return theEmp
            End Get
            Set(ByVal Value As Employee)
                theEmp = Value
            End Set
        End Property
    End Class
    Class EmployeeTypeTestClass
         _
        Public Sub AMethod()
        End Sub
         _
        Public Sub BMethod()
        End Sub
         _
        Public Sub CMethod()
        End Sub
    End Class
    Sub Main()
        Dim testClass As New EmployeeTypeTestClass()
        Dim tcType As Type = testClass.GetType()
        Dim mInfo As MethodInfo
        For Each mInfo In tcType.GetMethods()
            Dim attr As Attribute
            For Each attr In Attribute.GetCustomAttributes(mInfo)
                If TypeOf attr Is EmployeeTypeAttribute Then
                    Dim attrCustom As EmployeeTypeAttribute = CType(attr, EmployeeTypeAttribute)
                    Console.WriteLine("Method {0} has a pet {1} attribute.",mInfo.Name(), attrCustom.Pet.ToString())
                End If
            Next
        Next
    End Sub
End Module