Dado el requisito:cadenas AutoMapper a ENUM descripciones
toma un gráfico de objetos, establecer todas propiedades de tipo enum basados en el procesado valor de una segunda propiedad de cadena. La convención dicta que el nombre de la propiedad de cadena fuente será el de la propiedad enum con un postfijo de "Raw".
Por procesado queremos decir que tendremos que quitar los caracteres especificados e.t.c.
He visto formateadores personalizados, resolución de valores y convertidores de tipo, ninguno de los cuales parece una solución para esto?
Queremos usar AutoMapper en contraposición a nuestra propia rutina de reflexión por dos razones: a) se usa ampliamente durante el resto del proyecto yb) le da un recorrido recursivo ootb.
- Ejemplo -
Dada la estructura (simple) a continuación, y esto:
var tmp = new SimpleClass
{
CountryRaw = "United States",
Person = new Person { GenderRaw="Male" }
};
var tmp2 = new SimpleClass();
Mapper.Map(tmp, tmp2);
es de esperar que MappedCountry enumeración de Tmp2 ser Country.UnitedStates y la propiedad de tener una persona género de Gender.Male.
public class SimpleClass1
{
public string CountryRaw {get;set;}
public Country MappedCountry {get;set;}
public Person Person {get;set;}
}
public class Person
{
public string GenderRaw {get;set;}
public Gender Gender {get;set;}
public string Surname {get;set;}
}
public enum Country
{
UnitedStates = 1,
NewZealand = 2
}
public enum Gender
{
Male,
Female,
Unknown
}
Gracias
podría mostrar un ejemplo de lo que tiene y lo que usted quiere hacer un mapa – Omu
Claro, post original editado :-) – 6footunder