2012-01-15 9 views
5

İkili bir dosyadaki veri yapılarıyla eşlenen bir dizi Veri Aktarımı Nesnesi (DTO) var. Bu nesnelerin bazı alanlar bunun gibi, çeteleler eşlemek:Can Automapper sınıf örneklerini Winform'lara bağlamak için kullanılabilir ve eğer öyleyse, nasıl?

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

Diğer alanlar sadece sayı veya boolean bit değerleridir.

I bir açılır içine doldurulmuş herhangi bir enum anahtar değer çiftleri bir listesini verir Enum bir uzantısı yöntemi ToList() sahiptir: Winform genel bir özelliği olarak

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

bu

dto.DataChecksumExistence 
    = (DataChecksumExistence)uxDataChecksumExistence.SelectedValue 

ve setter aşağıdaki: my DTO bir örneğini döndürür, ben gaz giderici aşağıdaki gelmiş

uxDataChecksumExistence.SelectedValue = dto.ChecksumSize; 

Bu kodu yaklaşık 50 alanla çarpın ve sonra uygulamanızda ihtiyaç duyacağım form sayısıyla tekrarlayın (düzinelerce) ve ikilemimi görebilirsiniz.

Bunu yapmak için Automapper'ı kullanmanın bir yolu var mı? Yoksa T4 templates gibi bir kodla kodlamak daha mı iyi olurdu? Eğer yapabilirseniz bir kod örneği veriniz; Bütün İncil'e ihtiyacım yok, sadece birkaç ayet doğru yöne işaret ediyor.

cevap

2

Automapper ile mümkün değildir, ancak haritalama kullanan Demo a winforms projesinde burada (http://valueinjecter.codeplex.com) görebilirsiniz, ayrıca ön ekranda demo ekran görüntüsünü de görebilirsiniz.

İlgili konular