> ' Non visual operations that do specific tasks and redirect to a specific page > Public Function Operation() As Boolean > Dim lcMessage As String = "" > Dim lnOperation As Integer = 1 > Dim loOperation As Operation = New Operation(oProcess) > Dim loOperationMethodInfo As System.Reflection.MethodInfo = Nothing > Dim loOperationType As Type = loOperation.GetType() > Dim loOperationParameter(0) As Object > Dim loPropertyInfo As System.Reflection.PropertyInfo = Nothing > > ' Get the operation ID > lnOperation = Val(oProcess.GetProcess("Operation")) > > ' Define the parameter > loOperationParameter(0) = False > > ' Use reflection to dynamically access the method > loOperationMethodInfo = loOperationType.GetMethod("Operation" + lnOperation.ToString) > > ' Call the method > If Not loOperationMethodInfo.Invoke(loOperation, loOperationParameter) Then > loPropertyInfo = loOperationType.GetProperty("cMessage") > lcMessage = CType(loPropertyInfo.GetValue(loOperationMethodInfo, Nothing), String) > Throw New System.Exception(lcMessage) > End If > > Return True > End Function >Looks OK as long as you're sure GetMethod() won't return null.