プログラムに次のデータとオブジェクトがあります。
次のオブジェクトを含む DynamicObjectContainer。
MeasurementParameters : DataContainer
(DataContainer は基底クラスです)
このオブジェクトには多くのパブリック プロパティがあり、その名前は実行時にしかMeasurementParameters
わかりません。また、使いやすいインターフェイスを使用して、クラスに含まれるプロパティの値にアクセスできるように、基本クラスに内部接続を設定しました。DataContainer
MeasurementParameters
MeasurementParameters
例: 「pumpspeed」(文字列型)という名前のプロパティがあるとします。この関数を使用して、そのプロパティの値にアクセスできます。
MeasurementParameters.GetStringValue("pumpspeed");
DataContainer
オブジェクトの構築中にリフレクションを使用して、オブジェクト内にデリゲートのリストを内部的に作成することで、これを実現しました。(これは1回限りです。)
ここまでは順調ですね。
MeasurementParameters
今、これらの値をウィンドウフォームに表示したいところに行き詰まっています。
私は実行時にプロパティ名しか知らないので、フォーム内の固定ラベルにプロパティ名 (スクリプト ファイルで彼だけが定義) をマップする方法をユーザーに提供する必要があります。したがって、ユーザーは次の形式でマッピング データをテーブルに保存します。
Entry : "pumpspeed" "label22"
データベースからこのマッピングを取得し、オブジェクトから必要なデータを取得MeasuremetParameters
して、Windows フォームに表示するための高速で効率的な方法が必要です。
注 : これが 1 回限りの操作である場合は、多くの解決策があります。問題は 2 つあります。
- 物件数は膨大
MeasurementParameters
(約200件) - オブジェクトには、その
MeasurementParameters
プロパティを継続的に更新する関数が含まれています。SO 私のウィンドウフォームは、これらの関数を呼び出してオブジェクトデータを更新し、MeasurementParameters
データを取得して正しいラベルで表示する必要があります。
また、これは 1 秒あたり約 2 ~ 3 回のサイクルで発生するはずです。(理想的には)
これに対するソリューションの設計を手伝ってくれる人はいますか?? 一般的なオブジェクト構造と関係に関するアドバイスも役に立ちます。
必要に応じて、使用しているコードを投稿できます。