Come posso creare un'espressione.Proprietà di un oggetto figlio

c# expression expression-trees func linq

Domanda

normalmente creo un'espressione in questo modo.

ParameterExpression pe = Expression.Parameter(typeof(object1), "x");

string Name = "property1";

MemberExpression left = Expression.Property(pe, (object1).GetProperty(Name));

produce left = x => x.property1

Devo sapere come posso produrre

left = x => x.Object2.property1

se Name = "Object2.property1"; e object2 è un bambino da object1

Grazie in anticipo

Risposta popolare

Non capisco cosa vuoi. È una catena di proprietà (ad esempio: x.Prop1.Prop2)?

var pe = Expression.Parameter(typeof(object1));
var property1 = typeof(object1).GetProperty(Name1);
var property2 = property1.PropertyType.GetProperty(Name2);
var inner = Expression.Property(pe, property1);
var outer = Expression.Property(inner, property2);


Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché
Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché