ユーザーがアクションのリストを作成するプログラムを作成しています。可能なアクションにはすべて、指定する必要がある複数のプロパティがあります。Visual Studio がデザイン モードでオブジェクト プロパティを表示するのと同じように、これらのプロパティをリスト ボックスに表示したいと考えています。文字列はテキストボックスを取得し、ブール値はチェックボックスを取得します。オブジェクトのメンバーをリストに表示する方法を理解しましたが、各コントロールのコールバックを作成する方法を理解するのに苦労しています。基本的な構造は次のとおりです。
void createPropertyList(object move)
{
Type type = move.GetType();
FieldInfo[] fields = type.GetFields();
propertyListBox.Items.Clear();
foreach (var field in fields)
{
string name = field.Name;
object temp = field.GetValue(move);
if (temp is double)
{
double value = (double)temp;
Label l = new Label();
l.Content = name;
TextBox t = new TextBox();
t.Text = value.ToString("0.0000");
// put it in a grid, format it, blah blah blah
propertyListBox.Items.Add(grid);
}
// reflect on other types
}
}
ラムダが関係すると思いますが、FieldInfo 配列を元に戻して実際にこれらのメンバーを参照し、ユーザーの入力をオブジェクトに戻すにはどうすればよいでしょうか?