2010-12-07 17 views
2

私は各エンティティの詳細のリストを保存します私のアプリケーションのための設定ファイルを使用する必要があります。例 -オブジェクトをapp.configファイルに保存できますか?

<person A> 
     <name= > 
     <age= > 
<person B> 
     <name=> 
     <age= > 

ため は、設定クラスにおけるこの種のpossileのようなものですか、このアプリを使用する必要があります.configファイルwihtout設定クラスのラッパー?

編集:私のアプリケーションは以前は複数のエンティティをサポートしていたので、いくつかの設定で複数のエンティティを保存する必要がありました。

+0

しかし、なぜそれを.configファイルとして保存したいのですか?あなたは普通のXMLファイルを使うことを考えましたか? – Smur

+0

設定のAPIが必要なので私はそれを生成し、アプリケーション名、すなわちこれが正確に何であるアプリケーション構成ファイルで名前を付けたいのですか? – user271077

+0

質問の言い直し - 設定ファイルの値にクラスが含まれている可能性がありますか? – user271077

答えて

1

はい、.configファイルに任意の種類の情報(文字列)を保存できます。キーを使用して保存された情報にアクセスするには、ConfigurationManagerクラスを使用します。

しかし、なぜこのような情報を.configファイルに保存したいのですか?

この目的でXML文書を使用することをお勧めします。その後、XDocumentクラスを使用して解析することができます。

編集:

あなたのコメントを読んだ後、私は、app.configファイルは、オブジェクトを保存することはできませんと思います。あなたはではありません。クラスオブジェクトをそこに保存します。

+0

<![CDATA [...]]>を使用してxml-serializeされたオブジェクト(または別のシンプルなシリアライザ)をそこに置くことができなかった理由はありません(他の人が知っていない限り –

+0

@ブラッド:私はあなたがそれを行うことができるかどうか分からなかったので、基本的にクラスをシリアライズし、ブードゥー文字列を保存しますか? –

+0

それは計画です。なぜ私がXMLについて知っていることと抽象データを格納しているのかを考えれば、XmlNodeAttibuteとXmlElementAttributeでオブジェクトを作成し、それをファイルにシリアル化し、.configにプッシュすることができます。ケースシナリオでは、XmlDocumentを使用してツリーを下に移動し(ConfigurationManagerをバイパスして)、結果をデシリアライズします。 –

0

この目的では、Serializationを使用できます。しかし、私はまだそれを.configファイルに保存することはできません。とにかく、オブジェクトをXML形式でシリアル化し、文字列として.configファイルに追加するキーに格納することができます。私はそれがそれを解決するだろうと思う。

単純なXMLファイルとして保存する場合は、XMLDocumentおよびXMLNodeのクラスを使用します。

1

設定ファイルは、動的な設定情報を保存するのに適していません。これは、アプリケーションを設定するためのものであり、状態を維持するためのものではありません。

ダイナミックデータを格納するために、別のファイル、またはSQLiteデータベースのようなものを使用してください。

関連する問題