|
分類:[VB.NET/VB2005 以降]
winXP SP2 + VB2005
BinaryFormatterのSerializeを使ってクラスをシリアライズ化しているのですが、
シリアライズするクラスにはFontが宣言されています。
で、シリアライズしたファイルからデシリアライズしたら、
なぜかFontのGdiCharSetだけが128から1に変わってしまいます。
(それ以外の値は正常に復元している)
どのように対処すればよろしいでしょうか?
' オブジェクトの内容をファイルに保存する
Public Shared Sub SaveToBinaryFile(ByVal obj As Object, ByVal path As String)
Dim fs As New IO.FileStream(path, IO.FileMode.Create, IO.FileAccess.Write)
Dim bf As New BinaryFormatter
'シリアル化して書き込む
bf.Serialize(fs, obj)
fs.Close()
End Sub
Public Shared Function LoadFromBinaryFile(ByVal path As String) As Object
Dim fs As New IO.FileStream(path, IO.FileMode.Open, IO.FileAccess.Read)
Dim f As New BinaryFormatter
'読み込んで逆シリアル化する
Dim obj As Object = f.Deserialize(fs)
fs.Close()
Return obj
End Function
|