2

我正在尝试将以下类保存到 user.config 中,但我不确定我做错了什么。字典对象不允许类被序列化吗?

<Serializable()>Public Class RunInformation
    Public ExecutablePath As String
    <NonSerialized()> Public Settings As Dictionary(Of String, String)
    <NonSerialized()> Public ProcessId As Integer
    <NonSerialized()> Public Handle As IntPtr
    <NonSerialized()> Public TabPageHandle As IntPtr

    Public Sub New()
        ExecutablePath = ""
        Settings =  New Dictionary(Of String, String)
    End Sub
End Class

保存:

Private Sub Form1_Closing(sender As Object, e As EventArgs) Handles MyBase.Closing
    my.Settings.Setting = New RunInformation()
    My.Settings.Save()
End Sub

XML 文件:

<userSettings>
    <BotManager.My.MySettings>
        <setting name="Setting" serializeAs="Xml">
            <value />
        </setting>
    </BotManager.My.MySettings>
</userSettings>
4

1 回答 1

0

问题是您将信息序列化为 XML 但使用二进制序列化控制属性。

System.Xml.Serialization.XmlIgnore改为使用属性

于 2016-08-10T03:52:10.210 回答