I have a WPF application. Dialog is called for some user input
new ConfigDialog().ShowDialog();
In the dialog after user clicks "Save" every property is saved to an object:
PropertyInfo pi = myObj.GetType().GetProperty("SomeColorProperty");
pi.SetValue(myObj, userColor, null);
Neither of myObj, pi, userColor, myObj.SomeColorProperty is null. However after the last string, TargetInvocationException is thrown at new ConfigDialog().ShowDialog(). MSDN states that InnerException indicates the reason. In my case, it is an InvalidCastException. But userColor is System.Windows.Media.Color, and myObject.SomeColorProperty is also System.Windows.Media.Color. I tried hard-coding the value, like
pi.SetValue(myObj, Color.FromRgb(10, 20, 30), null);
, but it is the same. What are the possible reasons for this trouble?
Aucun commentaire:
Enregistrer un commentaire