おはよう、
私はすべて同じ戻り値の型を持つメソッドの動的セットを持っていResultSet
ます。を表示する UI があるResultSet
ので、残っているのは、メソッドをパラメーター化するための UI を提供することです。たとえば、次のメソッドがあるとします。
public ResultSet FindNew (DateTime date, int id)
public ResultSet FindOld (DateTime date, int id)
public ResultSet FindMerged (DateTime date, int[] id)
public ResultSet FindNew (DateTime date, string name)
リフレクションを使用して、クラス内の正しい戻り値の型を持つすべてのメソッドのドロップダウンを提供したいと考えています。選択すると、メソッドをパラメーター化するために必要な入力フォームを生成したいと思います。その後、ユーザーはクエリを送信して、結果を確認するか、発生したエラーを通知することができます。
C# の知識を使ってこの機能を単純な方法で実装できると思いますが、私の探求に役立つ WPF の機能があることを期待していました。
編集
質問が広すぎたことをお詫びします。
ビューでこれにバインドして、ユーザーが各パラメーターの値を入力できるようにフォームを作成するに
IEnumerable
は どうすればよいでしょうか?ParameterInfo[]
具体的には、可能であればMVVMを壊さないでください。私が見ることができる問題は次のとおりです。
- ParameterInfo を Label およびそのタイプに関連するデータ入力コンポーネントにレンダリングする
- データ入力コンポーネントを ViewModel 内の何かにバインドして、値を使用できるようにする
現時点では、カスタム タイプまたは ParameterInfo の Tuple とそのパラメーターの現在の値を使用することを検討しています。次に、DataTemplates を使用して、正しいデータ入力コンポーネント (DatePicker 対 TextBox 対 ComboBox) を表示できます。
NB winforms では、これはPropertyGridによって達成されました。同じことを達成しようとしているオープン ソースの WPF プロジェクトがありますが、依存関係に関するプロジェクトの制約のため、独自の実装を使用したいと考えています。