wie schaffen Ausdruck Baum / lambda für eine Tiefe Eigenschaft aus einem string

Gegeben ein string: "Person.Adresse.Postleitzahl - " ich möchte in der Lage sein, um die get/set-dieses PLZ-Eigenschaft auf eine Instanz von Person. Wie kann ich dies tun? Meine Idee war split die Zeichenfolge "." und dann die Iteration über die Bauteile auf der Suche nach der Immobilie auf den vorherigen geben, dann erstellen Sie einen Ausdruck-Baum, der würde ungefähr so Aussehen (Entschuldigung für die pseudo-syntax):

(person => person.Address) address => address.Postcode

Ich habe echte Schwierigkeiten, konkret die Schaffung der Ausdruck, der Baum aber! Wenn dies der beste Weg ist, kann jemand empfehlen, wie man das macht, oder gibt es eine einfachere alternative?

Dank

Andrew

public class Person
{
    public int Age { get; set; }
    public string Name { get; set; }
    public Address Address{ get; set; }

    public Person()
    {
        Address = new Address();
    }
}

public class Address 
{
    public string Postcode { get; set; }
}

InformationsquelleAutor Andrew Bullock | 2009-02-11

Schreibe einen Kommentar