[英]Replace parameter into expression
鑒於:
var paramA = Expression.Parameter(typeof(string), "a");
和:
Expression<Func<string, bool>> expr = b => b == "Something";
無論如何,用paramA
將b
替換成表達式expr
嗎?
您可以遍歷expr
的表達式樹,並使用本問答中描述的方法用paramA
替換所有出現的b
: “用內部表達式組合兩個lambda表達式” 。
但是,如果僅需要一個使用paramA
作為參數的lambda表達式, paramA
容易制作一個包裝expr
的lambda:
var res = (Expression<Func<string,bool>>)Expression.Lambda(
Expression.Invoke(expr, paramA)
, paramA
);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.