У меня есть несколько объектов передачи данных (DTO), которые отображаются на структуры данных в двоичном файле. Некоторые поля в этих объектах отображаются в перечисления, например:
public enum DataChecksumExistence
{
None = 0x00,
Eight_Bits = 0x01,
Sixteen_Bits = 0x02,
Thirty_Two_Bits = 0x03
}
Другие поля - это просто числа или логические значения битов.
У меня есть метод расширения ToList()
на Enum
, который возвращает список пар ключ-значение из любого Enum, который можно вставить в раскрывающийся список в Form_Load
:
uxDataChecksumExistence.DataSource = typeof(DataChecksumExistence).ToList();
В открытом свойстве Winform, которое возвращает экземпляр моего DTO, в геттере есть следующее:
dto.DataChecksumExistence
= (DataChecksumExistence)uxDataChecksumExistence.SelectedValue
и следующее в установщике:
uxDataChecksumExistence.SelectedValue = dto.ChecksumSize;
Умножьте этот код примерно на 50 полей, а затем умножьте его снова на количество форм, которые мне понадобятся в моем приложении (это десятки), и вы увидите мою дилемму.
Есть ли способ использовать Automapper для этого? Или было бы лучше кодировать его с помощью чего-то вроде T4 шаблонов ? Пожалуйста, предоставьте пример кода, если можете; Мне не нужна вся Библия, только несколько стихов, чтобы указать в правильном направлении.