DOBON.NET DOBON.NETプログラミング掲示板過去ログ

アプリケーションの設定を保存する

環境/言語:[XP]
分類:[.NET]

.NETプログラミング研究33号を参考にしてXMLファイルに保存する方法でプログラムを作成しています。一応XMLファイルに保存はできたのですが配列データが正常に保存できません。配列データもXMLに保存することができるのでしょうか?。
■No4095に返信(ことぶきさんの記事)
> .NETプログラミング研究33号を参考にしてXMLファイルに保存する方法でプログラムを作成しています。一応XMLファイルに保存はできたのですが配列データが正常に保存できません。配列データもXMLに保存することができるのでしょうか?。

基本的にはそのままでもできます。ただし、配列の型と、配列に入っているオブジェクトの型が違う場合は、工夫が必要です。この場合は、次のページと同じ方法で解決できます。

・DOBON.NET .NET Tips - ArrayListオブジェクトの内容をXMLファイルに保存するhttp://dobon.net/vb/dotnet/file/xmlserializer2.html
■No4114に返信(管理人さんの記事)
> ■No4095に返信(ことぶきさんの記事)
>>.NETプログラミング研究33号を参考にしてXMLファイルに保存する方法でプログラムを作成しています。一応XMLファイルに保存はできたのですが配列データが正常に保存できません。配列データもXMLに保存することができるのでしょうか?。
>
> 基本的にはそのままでもできます。ただし、配列の型と、配列に入っているオブジェクトの型が違う場合は、工夫が必要です。この場合は、次のページと同じ方法で解決できます。
>
> ・DOBON.NET .NET Tips - ArrayListオブジェクトの内容をXMLファイルに保存するhttp://dobon.net/vb/dotnet/file/xmlserializer2.html

回答を頂きまして有難うございます。私の場合、配列の型は同じにしておりますし基本的にそのままで出来るとの事ですので再度調べてみました。その結果分からないのは下記の??????部分の記入方法のようです。配列の場合は??????をどのように記入すれば良いのでしょうか?再度宜しくお願い致します。

Private _Table(2) As String
Public Property Table() As String
Get
Return ??????
End Get
Set(ByVal Value As String)
?????? = Value
End Set
End Property
XMLのことはよく分からないですけど、
配列を扱うプロパテイは、次のようにしないと

Private _Table(2) As String
Public Property Table(ByVal Index As Integer) As String
Get
Return _Table(Index)
End Get
Set(ByVal Value As String)
_Table(Index) = Value
End Set
End Property
■No4133に返信(ポンさんの記事)
> XMLのことはよく分からないですけど、
> 配列を扱うプロパテイは、次のようにしないと
>
> Private _Table(2) As String
> Public Property Table(ByVal Index As Integer) As String
> Get
> Return _Table(Index)
> End Get
> Set(ByVal Value As String)
> _Table(Index) = Value
> End Set
> End Property
>
ご親切な回答を頂きまして有難うございます。お教え頂いたようにPropertyの部分を下記のような設定に変更してテストしておりますが保存されたXMLファイルには<Table>____</Table>のタグが保存されておりません。

Private _Table(3) As String
Public Property Table(ByVal Index As Integer) As String
Get
Return _Table(Index)
End Get
Set(ByVal Value As String)
_Table(Index) = Value
End Set
End Property

With Settings.Instance
.Table(0) = "A"
.Table(1) = "B"
.Table(2) = "C"
.Table(3) = "D"
.SaveToXmlFile()
End With

引き続きご支援を宜しくお願い致します。
> 回答を頂きまして有難うございます。私の場合、配列の型は同じにしておりますし基本的にそのままで出来るとの事ですので再度調べてみました。その結果分からないのは下記の??????部分の記入方法のようです。配列の場合は??????をどのように記入すれば良いのでしょうか?再度宜しくお願い致します。
>
> Private _Table(2) As String
> Public Property Table() As String
> Get
> Return ??????
> End Get
> Set(ByVal Value As String)
> ?????? = Value
> End Set
> End Property

つまりは、配列を返すプロパティが分からないということですね?これは、そのまんまで、何も考える必要がありません。

Private _Table(2) As String
Public Property Table() As String()
Get
Return _Table
End Get
Set(ByVal Value As String())
_Table = Value
End Set
End Property
■No4145に返信(管理人さんの記事)
>>回答を頂きまして有難うございます。私の場合、配列の型は同じにしておりますし基本的にそのままで出来るとの事ですので再度調べてみました。その結果分からないのは下記の??????部分の記入方法のようです。配列の場合は??????をどのように記入すれば良いのでしょうか?再度宜しくお願い致します。
>>
>> Private _Table(2) As String
>> Public Property Table() As String
>> Get
>> Return ??????
>> End Get
>> Set(ByVal Value As String)
>> ?????? = Value
>> End Set
>> End Property
>
> つまりは、配列を返すプロパティが分からないということですね?これは、そのまんまで、何も考える必要がありません。
>
> Private _Table(2) As String
> Public Property Table() As String()
> Get
> Return _Table
> End Get
> Set(ByVal Value As String())
> _Table = Value
> End Set
> End Property

有難うございます。おかげさまで解決しました。これからもご支援宜しくお願い致します。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板