2012-05-02 45 views
1

我正在處理一個規則引擎,我們正在將xml轉換爲在運行時編譯的代碼。爲此,我們想訪問一個對象/集合中的一個屬性,該屬性不能作爲字符串使用,而是作爲表達式使用。Expression.Property的第二個參數可以變爲動態的嗎?

一個簡單的例子 - 與地產時代一個學生類

Expression stud = Expression.Variable(typeof(Student), "student"); 
Expression.Property(stud, Expression.Constant("Age")); 
+0

你知道該屬性的類型,或無類型結果將沒事的? – dasblinkenlight

+0

屬性的類型可以是任何CTS定義的類型。爲了簡單起見,我將Age屬性保持爲常量表達式。實際上,它將成爲一個派生的表達式,其值爲'Age'。 – Jabez

+0

請給出您的輸入(xml?)和您想要的輸出(表達式樹)的示例,因此我們可以嘗試提供一些代碼... – TDaver

回答

0

它不應該是這樣的:

// represents a variable student 
var studentExpression = Expression.Variable(typeof(Student), "student"); 

// represents student.Age 
var studenDotAgeExpression = Expression.Property(studentExpression, typeof(Student).GetProperty("Age")); 
相關問題