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
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Back
Top