Click here to Skip to main content
16,018,353 members

Comments by tntblow (Top 1 by date)

tntblow 16-Dec-11 0:52am View    
THIS WAS GREAT! Thanks billions for this piece of code man. I was rly lost about storing a referance to an objects Text (or anything) property. Now you rescued me rly. Here is the code to Set a value, of course by coming out from your code (its vb.net anyways but can be easily translated):

Public Sub SetObjectValue(rootObject As Object, properties As String, value As String)
Dim propertyNames As New List(Of String)(properties.Split("."))
If properties.Length = 0 Then
Return
End If
SetValue(rootObject, propertyNames, value)

End Sub
Public Sub SetValue(currentObject As Object, propertyNames As List(Of String), value As String)
If currentObject Is Nothing Then
Return
End If
Dim propertyInfo As Reflection.PropertyInfo = currentObject.[GetType]().GetProperty(propertyNames(0))
If propertyInfo Is Nothing Then
Return
End If
propertyNames.RemoveAt(0)
If propertyNames.Count = 0 Then
propertyInfo.SetValue(currentObject, value, Nothing)
Return
End If
Dim nextObject As Object = propertyInfo.GetValue(currentObject, Nothing)
SetValue(nextObject, propertyNames, value)
End Sub