' Return the value of the public field with the specified name,' defined inside the obj object' Note: requires Imports System.Reflection'' Example:' Public TestField As String = "hello"' ...' MessageBox.Show(GetField(Me, "TestField", ""))Function GetField(ByVal obj As Object, ByVal fieldName As String, _ ByVal defaultValue As Object) As Object Try ' try with a field first Dim fi As FieldInfo = obj.GetType().GetField(fieldName, _ BindingFlags.Instance Or BindingFlags.Public Or _ BindingFlags.NonPublic) If Not fi Is Nothing Then Return fi.GetValue(obj) End If ' else, try with a property (VB implements many form fields as ' properties) Dim pi As PropertyInfo = obj.GetType().GetProperty(fieldName, _ BindingFlags.Instance Or BindingFlags.Public Or _ BindingFlags.NonPublic) If Not pi Is Nothing Then Return pi.GetValue(obj, Nothing) End If Catch End Try ' if property doesn't exist or throws Return defaultValueEnd Function