2012-01-15 2 views
5

私は、バイナリファイルのデータ構造にマップするいくつかのデータ転送オブジェクト(DTO)を持っています。これらのオブジェクトのフィールドの一部は、次のような列挙型にマップされます。Automapperを使用してクラスインスタンスをWinformsにバインドすることはできますか?

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

その他のフィールドは単なる数値またはブール値です。

Iはのドロップダウンに充填することができる任意の列挙からキーと値のペアのリストを返しEnumに拡張メソッドToList()有する:そのWinフォームのパブリックプロパティに

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

を私はゲッターで、次のしている、私のDTOのインスタンスを返します。

dto.DataChecksumExistence 
    = (DataChecksumExistence)uxDataChecksumExistence.SelectedValue 

とセッターに次の

uxDataChecksumExistence.SelectedValue = dto.ChecksumSize; 

このコードに約50のフィールドを掛けて、アプリケーションに必要なフォームの数(数十)でもう一度乗算すれば、私のジレンマを見ることができます。

Automapperを使ってこれを行う方法はありますか?あるいは、T4 templatesのようなコードでコード化する方が良いでしょうか? できればコードサンプルを提供してください。私は聖書全体を必要とせず、正しい方向を指すためにほんの数節です。

答えて

2

自動マッパでは不可能ですが、マッピングを使用するwinformsプロジェクトのデモではこちら(http://valueinjecter.codeplex.com)を参照してください。また、フロントページのデモのスクリーンショットを見ることもできます。

関連する問題