2012-01-15 8 views
5

Tengo una cantidad de objetos de transferencia de datos (DTO) que se asignan a estructuras de datos en un archivo binario. Algunos de los campos de estos objetos mapa para enumeraciones, como éste:¿Se puede usar Automapper para vincular instancias de clase a Winforms y, de ser así, cómo?

public enum DataChecksumExistence 
{ 
    None = 0x00, 
    Eight_Bits = 0x01, 
    Sixteen_Bits = 0x02, 
    Thirty_Two_Bits = 0x03 
} 

Otros campos son sólo números o valores booleanos bits.

que tienen un método de extensión ToList() en Enum que devuelve una lista de pares de valores clave de cualquier enumeración que puede ser metido en una lista desplegable en el :

uxDataChecksumExistence.DataSource = typeof(DataChecksumExistence).ToList(); 

En una propiedad pública de la Winform que devuelve una instancia de mi DTO, Tengo el siguiente en el captador:

dto.DataChecksumExistence 
    = (DataChecksumExistence)uxDataChecksumExistence.SelectedValue 

y la siguiente en la incubadora:

uxDataChecksumExistence.SelectedValue = dto.ChecksumSize; 

Multiplique este código por aproximadamente 50 campos, y luego multiplíquelo nuevamente por el número de formularios que necesitaré en mi aplicación (es docenas), y puede ver mi dilema.

¿Hay alguna manera de usar Automapper para hacer esto? ¿O sería mejor codificarlo con algo como T4 templates? Proporcione una muestra del código si puede; No necesito toda la Biblia, solo unos pocos versículos para apuntar en la dirección correcta.

Respuesta

2

No es posible con Automapper, pero puede verlo aquí (http://valueinjecter.codeplex.com) en el proyecto Demo a winforms que utiliza la asignación, también puede ver una captura de pantalla de la demostración en la página principal.

Cuestiones relacionadas