Login | Register   
LinkedIn
Google+
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


Tip of the Day
Language: VB7
Expertise: Intermediate
Jul 21, 2003

GetField - Retrieving the value of a public field via reflection

' 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 defaultValue
End Function
Francesco Balena
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap