Assigning variables with reflection

  • Thread starter Thread starter Nigel Findlater
  • Start date Start date
N

Nigel Findlater

Hallo,

I am trying to assign a variable using reflection, Does
anyone know how this is done?

Any suggestions would be appriciated..

Nigel...

This is what I have so far:

Structure TestStruct
Dim A As Integer
Dim B As Double
Dim C As Double
End Structure

Public Test As TestStruct

Public Sub TestSub(ByRef Row As Object)
Dim i As Integer
Dim fields() As FieldInfo
fields = Row.GetType.GetFields
For i = 0 To fields.Length - 1
MessageBox.Show("Field = " + fields(i).Name)
REM I would like to set element A to 1 here
Next
End Sub

TestSub(Test)
MessageBox.Show(Test.A.ToString)
 
Nigel,
I am trying to assign a variable using reflection, Does
anyone know how this is done?

REM I would like to set element A to 1 here
If fields(i).Name = "A" Then fields(i).SetValue(Row, 1)

But to see the changes in the calling code, you have to change the
signature of TestSub to

Public Sub TestSub(ByRef Row As ValueType)

adn then call it like this

Dim vt As valueType = Test
TestSub(vt)
Test = DirectCast(vt, TestStruct)



Mattias
 
Back
Top