2010-09-15 96 views
0

可以說我有:表達式樹的創建和ExpressionTree轉換類型

anything.where(x=>x.age == int.parse(txtage.text)); 

現在我知道,int.parse(txtage.text)是ExpressionType.Convert

現在我想知道如何創建類型的表達式類型的表達式ExpressionType.Convert手動(編程)

爲什麼?

因爲層,改變它的類型之間的IM傳遞表情,我設法讓一個訪問的每一個表情和重建它除了

情況下ExpressionType.Convert:

什麼想法?提前致謝。

回答

4

不,int.Parse(txtage.text)是一個方法調用,而不是一個轉換表達式。你會使用Expression.Call來構建它。

但是,如果您要想要建立轉換表達式,請使用Expression.Convert

+0

實際上,lambda表達式被轉換爲x =>(Convert(x.age)== Convert(Convert(Parse(value(type).ddlage.text)))) – Stacker 2010-09-15 12:55:59

+0

所以我得到它抓住的情況下ExpressionType。轉換: – Stacker 2010-09-15 12:57:10

+0

@Stacker:你沒有告訴我們任何涉及的類型...是'x.age'不是int嗎? – 2010-09-15 13:08:11