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

将矩阵类保存到应用程序设置VB.net,vb.net,matrix,application-settings,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>

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

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

有人能解释我做错了什么吗

谢谢


它是dot.net矩阵类

System.Drawing.Drawing2D.Matrix
因为我可以在应用程序设置配置中选择这种类型,所以我假设它是可序列化的


J

System.Drawing.Drawing2d.Matrix类不可序列化。召唤

mMatrixHR.GetType().IsSerializable()

将返回False。

类必须可序列化为XML才能保存在应用程序设置中。要使XML可序列化,类必须具有读/写属性(只有那些属性才能持久化为XML)。由于Matrix类只有只读属性,因此不会序列化任何内容


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

您的矩阵类必须是可Xml序列化的。你能发布这个类的内容吗?你想保存矩阵中的哪些值?只是矩阵元素而已。我现在明白了实现这一点的方法是创建一个类,该类包含用于生成矩阵的平移、缩放和旋转参数,并将其序列化。将此作为问题的注释。没有答案。