Я хотел бы создать (очень легкий) двухстороннее связующее хранилище данных. Значения должны быть доступны через names . Я думал об использовании 2 массивов:
public class MyBindingDatastore{
public string[] _names = new string[]{"Field1", "Field2", "Field3"}
public object[] _values = new object[]{ DateTime.Now, "MyValue", 1}
}
Первый массив используется для хранения имен полей (всегда 1 строка). Второй массив (может быть также 2D, если более 1 записи) представляет матрицу значений.
Используя GUI-виджет (Resco detailview или любой, который поддерживает двухстороннюю привязку данных), я хотел бы указать:
MyControl.DataMember = "Field1";
MyControl.DataSource = new MyBindingDatastore();
Результатом привязки данных должно быть правильно отображаемое значение из массива значений. После изменения значения внутри виджета GUI изменение должно произойти и в хранилище данных (массив значений).
Есть идеи, как это реализовать? Или лучше использовать более раздутый DataTable класс, чтобы имитировать привязку к датированным данным (я считаю, что DataTable имеет много накладных расходов на массив)?