У меня есть несколько объектов, содержащих различную информацию (string
, int
, double
, список, ...) о чем-то (скажем, автомобили, самолеты, замки, города, ...). Эти объекты имеют разную структуру, но довольно похожее использование.
В моем приложении мне нужно, чтобы пользователь мог получить содержимое объекта, возможно отредактировать его и вернуть обратно к объекту. Я пытаюсь сделать это как можно более универсальным c, чтобы у меня был только один диалог «редактирования», а также проще в обращении, когда я бы добавил новый элемент в один из объектов или новый тип объекта полностью. Я смог заставить работать первую часть, создав DataGridView
, где в первом столбце у меня есть имя элемента, а во втором столбце значение, но мне не удается получить информацию обратно, так как я не знаю, как использовать строка из первого столбца, служащая в качестве параметра объекта для ссылки.
Например, это может выглядеть следующим образом:
public class Cars
{
public string Make { get; set; }
public int Age { get; set; }
public double Value { get; set; }
}
public partial void Main
{
Cars CurrentCar = new Cars{ Make = "Ford", Age = 14, Value = 1.23 };
}
, который затем загружается в DataGridView
в форме
----------------
| Make | Ford |
----------------
| Age | 14 |
----------------
| Value | 1.23 |
----------------
Пользователь изменяет значение Age на 15, и мне нужно вернуть его на CurrentCar
, поэтому я использую
string WhereTo = EditItemTable[0, 1].FormattedValue.ToString();
string What = EditItemTable[1, 1].FormattedValue.ToString();
Я знаю, что значение WhereTo
равно "Age "но обычно я не знаю, что CurrentCar
имеет Age
часть. Мне нужно что-то в соответствии с
CurrentCar.WhereTo = ToInt32(What);
Но я не могу найти способ передать WhereTo
в CurrentCar
в качестве параметра.
Любая помощь будет оценена.