Рассмотрим следующий пример:Можно ли использовать AutoMapper для заполнения свойств базового класса?
public class Parent
{
public string Id {get; set;}
public Parent(string id)
{
Id = id;
}
}
public class Child : Parent
{
public string Name {get; set;}
public Child(string id, string name) : base(id) // <-- call base constructor
{
Name = name;
}
}
Это классический пример того, как установить свойство в базовом классе.
Теперь скажите, что мой базовый класс содержит 50 свойств. Я знаю, что могу задать каждое свойство по строкам, но мне было интересно, могу ли я использовать AutoMapper для заполнения свойств?
Я хотел бы сделать что-то подобное в базовом классе:
public class MyClass
{
public MyClassMapData(MY_DATA data)
{
// DOC_TRACK_MAIN
var config = new MapperConfiguration(c =>
{
c.CreateMap<MY_DATA , MyClass>();
});
// This will map the first 45 properties.
var mappedData = config.CreateMapper().Map<MY_DATA , MyClass>(data.MyData);
// DOC_TRACK_DETAILS
mappedData.PROP_46 = data.Field1;
mappedData.PROP_47 = data.Field2;
mappedData.PROP_48 = data.Field3;
mappedData.PROP_49 = data.Field4;
mappedData.PROP_50 = data.Field5;
// How would I set mappedData to my current instance?
}
// My 50 properties...
}