При работе с ячейками DataGridView вы обычно делаете:
MyGrid.CurrentRow.Cells["EmployeeFirstName"].Value = "John";
все хорошо, но с ростом сложности вы начинаете беспокоиться об орфографических ошибках, проблемах с рефакторингом и т. Д.
Исторически, я просто сделал столбцы общедоступными, чтобы я мог получить к ним доступ непосредственно в экземпляре класса, но затем мне придется бороться с конструктором Windows Forms, который хочет сохранить их приватность (предположительно, потому что это хорошая практика).
Мое текущее решение состоит в том, чтобы иметь класс Cols с кучей строк:
public static class Cols
{
public static string EmployeeFirstName = "EmployeeFirstName";
...
}
Что приводит к этому:
MyGrid.CurrentRow.Cells[Cols.EmployeeFirstName].Value = "John";
Это дает мне некоторое совершенство IntelliSense, а не ожидание ошибки во время выполнения. Это все еще кажется смутным взломом.
Есть ли еще более удобный способ сделать это?