private void SetPropertyData(FieldInfo field, PropertyInfo propSource, object propObject) { var pType = propSource.PropertyType; var pFlags = BindingFlags.Public | BindingFlags.Instance | BindingFlags.Static; //if (pType == typeof(Unit)) //{ // field.SetValue(this, ((Unit)propSource.GetValue(propObject, null)).ToString()); // return; //} if (pType.GetTypeInfo().IsEnum) { field.SetValue(this, (int)propSource.GetValue(propObject, null)); return; } if (pType == typeof(Color)) { var c = (Color)propSource.GetValue(propObject, null); field.SetValue(this, RadarUtils.GetHexStringFromColor(c)); return; } if (pType == typeof(float)) { field.SetValue(this, Convert.ToInt32(propSource.GetValue(propObject, null))); return; } field.SetValue(this, propSource.GetValue(propObject, null)); }