我正在开发一个编辑器,它反映我的类并将它们转换为 UI 字段,让我通过更改 UI 中字段的值并保存它们来创建对象文件。
问题是当我使用通用列表时,编辑器构建器停止,因为它不知道列表中对象的类型来反映它,它一直将对象视为object
.
我只需要知道列表或字典中对象的类型以反映它。
编码 :
class ListUIEditor<T> : BaseEditor where T : new()
{
void BuildEditor()
{
Button addbutton = new Button("+");
addbutton.Clicked += add_Event;
for (int i = 0; i < ((List<T>)base.boundObject).Count; i++)
{
container = new Container();
ObjectUIEditor editor = new ObjectUIEditor("itemName",
((List<T>)base.boundObject)[i],
container);
editor.buildEditor();
itemsSubEditors.Add(i, editor);
}
}
protected void add_Event(object sender, EventArgs e)
{
T newObject = new T();
container = new Container();
ObjectUIEditor editor = new ObjectUIEditor("itemName", newObject, container);
editor.buildEditor();
itemsBox.ShowAll();
}
}