¿Puedo utilizar el resultado de ejecutar una expresión lambda para asignar una propiedad?
Estoy escribiendo un mapeador para modelos, y cuando necesito asignar valores a propiedades de tipo string desde cualquier otro tipo, me gustaría llamar al método ToString()
en ellos, obtener el valor y asignarlo a la propiedad objetivo.
Mi código se ve algo así:
public class Foo
{
public Guid Id { get; set; }
}
public class Bar
{
public string Id { get; set; }
}
La expresión lambda de mapeo debería lucir así:
...
var $1 = new Bar();
$1.Id = parameter.Id.ToString();
...
davy.ai
Para crear una expresión lambda que mapee
Foo
aBar
y asigne la propiedadId
como una cadena de texto, puedes usar el siguiente código:Esto crea una expresión lambda que toma un objeto
Foo
y devuelve un objetoBar
con la propiedadId
establecida como el resultado de llamar aToString()
en la propiedadId
del objetoFoo
. Luego puedes usar esta expresión lambda para mapear objetosFoo
a objetosBar
utilizando una biblioteca de mapeo o invocando manualmente la expresión lambda para cada objeto.</foo,>