Lets say we have a struct
Struct myStruct
{
int var1;
int var2;
string var3;
.
.
}
Is it possible to to iterate through the structure’s members by maybe using foreach? I have read some things on reflection, but I am not sure how to apply that here.
There are about 20 variables in the struct. I am trying to read values
off a file and trying to assign them to the variables but don’t want
to call file.ReadLine() 20 times. I am trying to access the member
variables through a loop
You apply reflection in pretty much the same way as normal, using
Type.GetFields:Note that if the struct exposes properties (as it almost certainly should) you could use
Type.GetPropertiesto get at those.(As noted in comments, this may well not be a good thing to do in the first place, and in general I’m suspicious of user-defined structs, but I thought I’d include the actual answer anyway…)
EDIT: Now it seems you’re interested in setting the fields, that’s slightly more complicated due to the way value types work (and yes, this really shouldn’t be a struct.) You’ll want to box once, set values on the single boxed instance, and then unbox at the end: