|
■No45736 (Hongliang さん) に返信
> 1 は XmlElement 属性を使えば可能です。
> 2, 3 は多分無理。
>
> シリアライザはシリアライザなので、基本的には永続化できればそれで十分なはずである、ということでしょう。
なんかずるいけどこんなのはだめでしょうか?
Public Structure Data2
Public value As Integer
End Structure
Public Structure Data3
<DefaultValue(0)> _
Public value As Integer
End Structure
Public Class Data1
<XmlIgnore()> Public data2 As Data2
<Browsable(False), XmlAttribute("Data2")> Public Property Data2ForSerialize() As Integer
Get
Return data2.value
End Get
Set(ByVal value As Integer)
data2.value = value
End Set
End Property
<XmlIgnore()> Public data3 As Data3
<Browsable(False), XmlElement("Data3")> Public Property Data3ForSerialize() As String
Get
If data3.value = 0 Then Return Nothing
Return data3.value.ToString
End Get
Set(ByVal value As String)
data3.value = Integer.Parse(value)
End Set
End Property
End Class
関係ないですが、structのときはDefaultValueによる初期化をいつどうやっていいのかわかりません…
|