Mega Code Archive

 
Categories / VB.Net / Reflection
 

ParameterInfo GetCustomAttributes gets all the custom attributes defined on this parameter

Imports System Imports System.Reflection Imports Microsoft.VisualBasic <AttributeUsage(AttributeTargets.Parameter)> Public Class MyAttribute     Inherits Attribute     Private myName As String     Public Sub New(ByVal name As String)         myName = name     End Sub     Public ReadOnly Property Name() As String         Get             Return myName         End Get     End Property End Class Public Class MyClass1     Public Sub MyMethod(<MyAttribute("This is an example parameter attribute")> ByVal i As Integer )         Return     End Sub End Class Public Class MemberInfo_GetCustomAttributes     Public Shared Sub Main()         Dim myType As Type = GetType(MyClass1)         Dim myMethods As MethodInfo() = myType.GetMethods()         For i As Integer = 0 To myMethods.Length - 1             Dim myParameters As ParameterInfo() = myMethods(i).GetParameters()             If myParameters.Length > 0 Then                 Console.WriteLine(myMethods(i))                 For j As Integer = 0 To myParameters.Length - 1                     Dim myAttributes As Object() = myParameters(j).GetCustomAttributes(GetType(MyAttribute), False)                     If myAttributes.Length > 0 Then                         Console.WriteLine(myParameters(j).Position)                         Console.WriteLine(myParameters(j).Name)                         Console.WriteLine(myParameters(j).ParameterType)                         For k As Integer = 0 To myAttributes.Length - 1                             Console.WriteLine("{0}", myAttributes(k))                         Next k                     End If                 Next j             End If         Next i     End Sub End Class