So I'm trying to pass property values from an internal class to a public struct. Both have the same property names with same case. I'm getting no errors, but the properties in the struct are not getting set.
foreach (UserProfile.UserProfileRecord r in rslt.record)
{
UserProfileRecord upr = new UserProfileRecord();
Type uprType = upr.GetType();
foreach (PropertyInfo p in r.GetType().GetProperties())
{
Debug.WriteLine(p.Name + " : " + p.GetValue(r));
PropertyInfo pi = uprType.GetProperty(p.Name);
pi.SetValue(upr, p.GetValue(r));
Debug.WriteLine(pi.Name + " - " + pi.GetValue(upr));
}
}
The output of the debug is as follows:
city : YERMO city -
state : CA state -
zip : 92398 zip -
telephone : 714-256-8463 telephone -
I've compared my code with several other examples on Microsoft and SO and I cannot see anything I'm doing wrong.
I pass the struct back to a caller and it's used as a DataSource for a DataGridView. The columns names appear but the cells are empty. When stopping at a break and looking at the struct, I see all property values are null.
What am I doing wrong?
Aucun commentaire:
Enregistrer un commentaire