|
web
newsgroups
|
|||||||||||||||||||||||
|
|||||||||||||||||||||||
Dynamically reading structure fieldsHi,
I have a need to read the fields of a structure in a for loop. for eg. the structure looks like: str.a1, str.a2, str.a3 where a1, a2, a3 are of type string How do I do it? Thanks in advance, Sam Private Structure mystruct
Public field1 As Short Public field2 As String Public pairForListItem As String End Structure Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim myarraylist As New ArrayList Dim InstanceofMyClass As mystruct Dim i As Integer For i = 0 To 5 With InstanceofMyClass .field1 = i .field2 = "field 2 value " & i .pairForListItem = "value " & i & "Text " & i End With myarraylist.Add(InstanceofMyClass) Next End Sub -- Show quoteHide quoteGet a powerful web, database, application, and email hosting with KJM Solutions http://www.kjmsolutions.com <sameeris***@gmail.com> wrote in message news:1145374703.892145.14510@v46g2000cwv.googlegroups.com... > Hi, > > I have a need to read the fields of a structure in a for loop. > for eg. the structure looks like: > str.a1, str.a2, str.a3 where a1, a2, a3 are of type string > How do I do it? > > Thanks in advance, > Sam > Hi,
Thanks for taking the time out to help me. In your code, it seems like you are assigning values to the fields of the structure and what I need is a way to read the fields values in a For loop. Do you think that is doable? Sam vbnetdev wrote: Show quoteHide quote > Private Structure mystruct > Public field1 As Short > Public field2 As String > Public pairForListItem As String > End Structure > > Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As > System.EventArgs) Handles MyBase.Load > Dim myarraylist As New ArrayList > Dim InstanceofMyClass As mystruct > Dim i As Integer > For i = 0 To 5 > With InstanceofMyClass > .field1 = i > .field2 = "field 2 value " & i > .pairForListItem = "value " & i & "Text " & i > End With > myarraylist.Add(InstanceofMyClass) > Next > End Sub > > -- > Get a powerful web, database, application, and email hosting with KJM > Solutions > http://www.kjmsolutions.com > > > > <sameeris***@gmail.com> wrote in message > news:1145374703.892145.14510@v46g2000cwv.googlegroups.com... > > Hi, > > > > I have a need to read the fields of a structure in a for loop. > > for eg. the structure looks like: > > str.a1, str.a2, str.a3 where a1, a2, a3 are of type string > > How do I do it? > > > > Thanks in advance, > > Sam > > > I have a need to read the fields of a structure in a for loop. You should be able to do this with reflection. Below is a quick demo of how > for eg. the structure looks like: > str.a1, str.a2, str.a3 where a1, a2, a3 are of type string to pull fields from a structure. Module Module1 Sub Main() Dim StructInstance As MyStruct StructInstance.Prop1 = "Foo" StructInstance.Prop2 = "Bar" Dim propInfo As Reflection.FieldInfo() = Type.GetType("ConsoleApplication1.MyStruct").GetFields For Each item As Reflection.FieldInfo In propInfo Console.WriteLine(item.GetValue(StructInstance)) Next Console.ReadKey() End Sub End Module Public Structure MyStruct Public Prop1 As String Public Prop2 As String End Structure Be aware that there is a boxing penalty with structures and you may want to use classes instead. You should read up on boxing and the performance penalties they incur. You will be able to do the same kind of reflection code with classes if you decide to change to that route. Jim Wooley http://devauthority.com/blogs/jwooley
Regular Expression Help...Line Break
CreateObject internet access Weather board, how to get html data. Reference different versions of an ActiveX-dll Two way collection Easy Q: 0.0 --> Output as string? checking for element in xml document Free unzip plug-in for VB.NET? Desktop integrated file browser Limits of the datagrid |
|||||||||||||||||||||||