在VB.net中,我有一个矩阵对象,我试图保存在应用程序设置中,我没有正确恢复设置。
Private mMatrixHR As New Matrix
...
My.Settings.MatrixHR = mMatrixHR
...
My.Settings.Save()
当我看着用户。配置文件:
<setting name="MatrixHR" serializeAs="Xml">
<value>
<Matrix xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" />
</value>
</setting>
显然没有矩阵数据保存到文件中。
谁能解释一下我做错了什么?
感谢J这是。net矩阵类
System.Drawing.Drawing2D.Matrix
因为我可以在应用程序设置配置中选择这种类型,所以我假设它是可序列化的。
JThe System.Drawing.Drawing2d。矩阵类不可序列化。调用
mMatrixHR.GetType().IsSerializable()
返回False
类必须可序列化为XML才能保存在应用程序设置中。要实现XML序列化,类必须具有Read/Write属性(只有这些属性才会持久化到XML)。因为Matrix类只有ReadOnly属性,所以没有任何东西被序列化。
你必须创建你自己的类,它公开你想要用读/写属性序列化的数据。