2

我正在尝试创建一个应用程序,该应用程序从从 XML 文件中读取的数据创建对象。

使用反射,我设法创建了我需要的对象并分配了一些属性,如原始类型和 ENUM 类型。

对于属性是字典条目的基本类型,其中要更改的属性名称和要设置的值

 type.GetProperty((string)property.Key).SetValue(control, Convert.ChangeType((string)property.Value, propertyType, null), null);

对于 ENUM 类型

object desiredPropertyValue = Enum.Parse(propertyType, (string)property.Value);
                    propertyInfo.SetValue(control, desiredPropertyValue, null);

我遇到的问题是我似乎无法找到一种方法来设置其他类型的属性,如 Fontweight、fontfamily、Margin 和许多其他我认为这些是类型结构的属性,任何帮助将不胜感激

4

1 回答 1

1

您可以使用关联的类型转换器将对象转换为字符串/从字符串转换。例如,对于 FontWeight,您可以像这样使用FontWeightConverter

object value = new FontWeightConverter().ConvertFromString((string)property.Value)

同样,您可以使用 ConvertToString 转换为字符串以保存在字典中。

于 2011-05-20T16:27:12.903 回答