Betrachten Lambda-Ausdruck folgende:C# Lambda-Ausdruck - Get Eigenschaftswert von String
IQueryable<Product> query = query.Where(x => x.ProductName.Contains("P100"));
ich über Code, so etwas konvertieren müssen:
IQueryable<Product> query = query.Where(x => x.GetPropertyValue("ProductName").Contains("P100"));
Hier habe ich eine Dummy-Methode hinzugefügt haben GetPropertyValue("ProductName")
zu erkläre die Anforderung. Im obigen Code sollte die Eigenschaft in der Laufzeit aufgelöst werden. Mit anderen Worten, ich muss auf die Eigenschaft von einem Stachel-Wert zugreifen. Eg "ProductName"
Wie kann ich das tun?
Ich meine, ich muss diese Methode generischer machen. Gemäß meiner Anwendungslogik habe ich nur den Eigenschaftsnamen als String-Wert. Also muss ich die Zeichenfolge als eine Eigenschaft auflösen. – Rahul
Was ist Ihr Abfrageprozessor? Wird es sogar eine 'GetPropertyValue() 'Methode für ein' Product' Objekt unterstützen? Es macht keinen Sinn, die Konvertierung durchzuführen, wenn sie nicht unterstützt wird. –
Sie müssen entweder Linq Expressions lernen oder Dynamic Linq verwenden. – Aron