私は、バイナリファイルのデータ構造にマップするいくつかのデータ転送オブジェクト(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のようなコードでコード化する方が良いでしょうか? できればコードサンプルを提供してください。私は聖書全体を必要とせず、正しい方向を指すためにほんの数節です。