Get Index Parameters
Imports System
Imports System.Reflection
Imports System.Collections
Imports Microsoft.VisualBasic
Public Class MyProperty
Private myCaption As String = "A Default caption"
Public Property Caption() As String
Get
Return myCaption
End Get
Set(ByVal Value As String)
If myCaption <> value Then
myCaption = value
End If
End Set
End Property
Private strings() As String = {"abc", "def", "ghi", "jkl"}
Public Default Property Item(ByVal Index As Integer) As String
Get
Return strings(Index)
End Get
Set
strings(Index) = Value
End Set
End Property
End Class
Public Class Example
Public Shared Function Main() As Integer
Dim t As Type = GetType(MyProperty)
Dim pi As PropertyInfo = t.GetProperty("Caption")
Dim params As ParameterInfo() = pi.GetIndexParameters()
pi = t.GetProperty("Item")
params = pi.GetIndexParameters()
Console.WriteLine(t.FullName & "." & pi.Name & " has " & params.GetLength(0) & " parameters.")
For Each p As ParameterInfo In params
Console.WriteLine(" Parameter: " & p.Name)
Next
Return 0
End Function
End Class
Related examples in the same category