将矩阵类保存到应用程序设置VB.net
在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>
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
因为我可以在应用程序设置配置中选择这种类型,所以我假设它是可序列化的
JSystem.Drawing.Drawing2d.Matrix类不可序列化。召唤
mMatrixHR.GetType().IsSerializable()
将返回False。类必须可序列化为XML才能保存在应用程序设置中。要使XML可序列化,类必须具有读/写属性(只有那些属性才能持久化为XML)。由于Matrix类只有只读属性,因此不会序列化任何内容
您必须创建自己的类,该类公开要用读/写属性序列化的数据。您的矩阵类必须是可Xml序列化的。你能发布这个类的内容吗?你想保存矩阵中的哪些值?只是矩阵元素而已。我现在明白了实现这一点的方法是创建一个类,该类包含用于生成矩阵的平移、缩放和旋转参数,并将其序列化。将此作为问题的注释。没有答案。