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