in vb with generics, but rudimentary error handling:
Module somereflectionops Function GetFieldValue(Of OBTYPE, FIELDTYPE)(instance As OBTYPE, fieldname As String, Optional specbindingflags As BindingFlags = BindingFlags.NonPublic Or BindingFlags.Instance) As FIELDTYPE Dim ot As Type = GetType(OBTYPE) Dim fi As FieldInfo Try fi = ot.GetField(fieldname, BindingFlags.Default Or specbindingflags) If fi Is Nothing Then Return Nothing Return fi.GetValue(instance) Catch ex As Exception Return Nothing End Try End Function Function SetFieldValue(Of OBTYPE, FIELDTYPE)(instance As OBTYPE, fieldname As String, value As FIELDTYPE, Optional specbindingflags As BindingFlags = BindingFlags.NonPublic Or BindingFlags.Instance) As Boolean Dim ot As Type = GetType(OBTYPE) Dim fi As FieldInfo Try fi = ot.GetField(fieldname, BindingFlags.Default Or specbindingflags) If fi Is Nothing Then Return false fi.SetValue(instance, value) Return True Catch ex As Exception Return False End Try End Function End Module
use: SetFieldValue (cardboard, Integer) (cartonyudropped, "surviveeggcount", 3)
stentor
source share