4

誰もこれを経験したことがありますか?.NET構成データ型でリフレクションを使用して動的に生成された構成UIを構築する

私たちの.NETアプリケーションにはかなり複雑なXML設定があり、設定オブジェクト階層を使用してこれらのプロパティのリフレクションと属性/メタデータを使用して動的にUIを構築できるといいと考えていましたオブジェクトを使用して、構成を作成するオプションをユーザーに提示します。

これを非常に汎用的にするとよいでしょう。そのため、.NET XML設定オブジェクトに(理由の範囲内で)提供することができ、それを反映してデータを取り込めるようにします。

+0

XAMLを使用したWPFは非常にうまくいっています...構成が何で構成されているか、UIの種類はわからず、意見が出にくいです。 =) –

+0

正直言って、UIを構築するための技術オプションは本当に探していませんでした。むしろ、configオブジェクトからそれらを動的に生成する経験があります。 –

+0

これらの設定オブジェクトは何ですか?彼らはどんな見た目ですか?彼らは何を記述していますか?あなたはそれらを使ってUIを記述しようとしますか、あるいは設定は何らかの方法ですでに存在していますか?あなたの設定から位置を推測することができなければなりません(UI要素を配置するなど)。 –

答えて

1

.NETのどのConfigファイルが正しいかを考える必要があります。アプリケーションの異なるデプロイメントの違いを定義する場所です。ですから、コード化されたロジックに基づいて動的に設定を変更することについて話し合ったとき、あなたは間違った方法でそれを持っているかもしれないと思います。あなたのコードは、設定によって注入された設定からその方向性を取るべきです。

あなたは設定エディタを作成しようとしているようですね。なぜVisual Studioに2つのビルトインが組み込まれているのですか?

私の経験では、Web環境と開発環境のapp.configの違いは、テスト環境とプロダクション環境の違いでしょうか。通常、Connection文字列、AppSettings、Message Queueアドレス、サービスエンドポイント、Log4Net設定などのわずかな設定によって異なります。

設定はかなりですが、設定の各ブロックには通常1つまたは環境ごとに異なる2つの属性。例外は、Spring.NET、CastleWinsor、UnityなどのIOC設定です。しかし、それでも環境と環境はまったく同じです。

私はあなたが離れてこれについて少し考えてみることをお勧めします。あなたが解決しようとしている実際の問題について考えてみましょう。おそらく、あなたはデータベース駆動型のワークフローを必要としていますか?知りません。

私はconfigが実行時コードによって駆動されるべきではないことを知っています。これはデプロイメントとビルド時のものです。

これは言いますが、ConfigGenなどのツールがあり、環境固有の設定を簡単に作成できます。これが本当に必要なときにチェックしてください。