Automapper'ı kullanıyorum. İki sınıfım var: Tek özellikli TypeA; İki özelliği olan TypeB, bunlardan biri özel belirleyici ve bu özellik için değer yapıcı aracılığıyla iletilir. TypeB'nin varsayılan kurucusu yok.İçerik değerleri Automapper Map'e nasıl aktarılır?
Soru: Automapper'ın TypeA'yı TypeB'ye dönüştürmesi yapılandırılabilir.
public class TypeA
{
public string Property1 { get; set; }
}
public class TypeB
{
public TypeB(int contextId)
{ ContextId = contextId; }
public string Property1 { get; set; }
public int ContextId { get; private set; }
}
public class Context
{
private int _id;
public void SomeMethod()
{
TypeA instanceOfA = new TypeA() { Property1 = "Some string" };
// How to configure Automapper so, that it uses constructor of TypeB
// and passes "_id" field value into this constructor?
// Not work, since "contextId" must be passed to constructor of TypeB
TypeB instanceOfB = Mapper.Map<TypeB>(instanceOfA);
// Goal is to create folowing object
instanceOfB = new TypeB(_id) { Property1 = instanceOfA.Property1 };
}
}
Otomatik biçimlendiricinin tüm yapılandırmalarını ayrı bir yerde kullandığım için, dönüştürmeden önce yeni Haritalar oluşturmak istemiyorum. İhtiyacım olan şey iyon. Cevabınız için teşekkür ederim. – Andris