VB .NET Properties / Felder einer Klasse mit Reflection ermitteln

Mit den folgenden Beispiel Methoden kann man von einer Instanz einer Klasse sämtliche Properties bzw. Felder mit Hilfe von System.Reflection auflisten lassen.

Public Shared Sub GetProperties(ByVal aObj As Object)
    Dim pis As System.Reflection.PropertyInfo() = aObj.GetType().GetProperties()
    For Each pi As System.Reflection.PropertyInfo In pis
      MsgBox(pi.Name)
    Next
  End Sub
 
  Public Shared Sub GetFields(ByVal aObj As Object)
    Dim fis As System.Reflection.FieldInfo() = aObj.GetType().GetFields()
    For Each fi As System.Reflection.FieldInfo In fis
      MsgBox(fi.Name)
    Next
  End Sub

Beispiel:

Public Class person
  public Name as String
  public Alter as Integer
End Class
public Sub ShowFields
  dim p as new Person
  GetFields(p)
End Sub

Ich arbeite gerade an einer Klasse, die dynamisch aus einem DataReader die Properties einer Klasse befüllt. Sobald das fertig ist, gibt es ein etwas komplexeres Beispiel für .NET Reflection.

Update am 01.12.2009:

Da ich immer häufiger auf die obigen Funktionen zugreife, habe ich meine Klasse DataFiller mittlerweile etwas ergänzt. Wer möchte, kann sich den Quellcode hier herunter laden.


0 Antworten zu VB .NET Properties / Felder einer Klasse mit Reflection ermitteln

  1. Bisher gibt es keine Kommentare.