Automapperを使用して、定義済みの構成または何らかの規則を使用して、あるカスタム インスタンスを別のインスタンスに変換することを検討してください。プロパティが同じ名前でタイプが互換性がある場合、プロパティをマップする規則があり、デフォルトで機能します。次のコードは、その使用法を示しています
void Main()
{
List<UserMaster> users = new List<UserMaster>{
new UserMaster{Name = "Bob", Email = "bob@mail.ru", Salary = 10},
new UserMaster{Name = "Jack", Email = "jack@mail.ru", Salary = 20},
new UserMaster{Name = "John", Email = "john@mail.ru", Salary = 40},
};
Mapper.CreateMap<UserMaster, UserMasterTemp>();
List<UserMasterTemp> usersTemp = Mapper.Map<IEnumerable<UserMaster>,
List<UserMasterTemp>>(users);
usersTemp.ForEach(Console.WriteLine);
}
class UserMaster
{
public string Name { get; set; }
public string Email { get; set; }
public decimal Salary { get; set; }
}
class UserMasterTemp
{
public string Name { get; set; }
public string Email { get; set; }
public decimal Salary { get; set; }
//formating for demo purposes
public override string ToString()
{
return string.Format("Name: {0}, Email: {1}, Salary: {2}",
Name, Email, Salary);
}
}
プリント:
Name: Bob, Email: bob@mail.ru, Salary: 10
Name: Jack, Email: jack@mail.ru, Salary: 20
Name: John, Email: john@mail.ru, Salary: 40