将矩阵类保存到应用程序设置VB.net

时间:2011-07-27 16:12:49

标签: vb.net matrix application-settings

在VB.net中,我有一个矩阵对象,我试图在应用程序设置中保存,我没有正确恢复设置。

Private mMatrixHR As New Matrix
...
My.Settings.MatrixHR = mMatrixHR
...
My.Settings.Save()

当我查看user.config文件时,我看到:

        <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>

显然没有矩阵数据保存到文件中。

有谁能解释我做错了什么?

由于

Ĵ

3 个答案:

答案 0 :(得分:0)

它的dot.net矩阵类

System.Drawing.Drawing2D.Matrix

由于我可以在应用程序设置配置中选择此类型,因此我认为它可以序列化。

Ĵ

答案 1 :(得分:0)

System.Drawing.Drawing2d.Matrix类不可序列化。调用

mMatrixHR.GetType().IsSerializable()

将返回False。

答案 2 :(得分:0)

类必须可序列化为XML才能保存在App Settings中。要进行XML可序列化,类必须具有读/写属性(只有那些属性将持久化为XML)。由于Matrix类只具有ReadOnly属性,因此没有任何序列化。

您必须创建自己的类,使用读/写属性公开要序列化的数据。