タイトル | : Imageのシリアライズ化 |
記事No | : 6021 |
投稿日 | : 2007/08/07(Tue) 13:27 |
投稿者 | : ダンボ |
下記のようなクラスを作って定義ファイルのシリアライズ化をしています。 ところがイメージデータがあると(TitleImageにインスタンスがあると) シリアライズエラーが起きます。
折角エラーメッセージが表示されているのに対処方法が理解できません(泣) 具体的にどう直せば良いでしょうか?
『XML ドキュメントを生成中にエラーが発生しました。 ---> System.InvalidOperationException: 型 System.Drawing.Bitmap は指定されていません。スタティックに使用できない型を指定するには XmlInclude または SoapInclude 属性を使ってください』
Public Class SheetDefFormat Public Title As String ' Public TitleImage As Image '<------Nothingがセットされている場合はシリアライズ可 Public Description As String ' Public LastLookPic As Integer Public LastLookPage As Integer Public LastAccess As Date Public Pics As System.Collections.Specialized.StringCollection End Class
Private innerSheetDef As SheetDefFormat Private innerSheetFilePath As String Private innerSheetModified As Boolean
Public Function SaveAs(ByVal Inifile As String, ByVal Force As Boolean) As Boolean If Force OrElse System.IO.File.Exists(Inifile) Then Try Dim Serializer As New System.Xml.Serialization.XmlSerializer(GetType(SheetDefFormat)) Dim FS As New System.IO.FileStream(Inifile, System.IO.FileMode.Create) Serializer.Serialize(FS, innerSheetDef) FS.Close() innerSheetModified = False SaveAs = True Catch ex As Exception MsgBox("Write error : SheetDef -" & ex.Message) SaveAs = False End Try Else SaveAs = False End If End Function
|