/// <summary> /// 委托关联表达式 /// </summary> /// <param name="body">表达式主体</param> /// <param name="parameters">参数</param> protected void set(TmphExpression body, TmphParameterExpression[] parameters) { ++(Body = body.SimpleExpression).ExpressionCount; Parameters = parameters; if (parameters != null) { foreach (var parameter in parameters) ++parameter.ExpressionCount; } }
/// <summary> /// 获取委托关联表达式 /// </summary> /// <param name="body">表达式主体</param> /// <param name="parameters">参数</param> /// <returns>委托关联表达式</returns> internal static TmphLambdaExpression Get(TmphExpression body, TmphParameterExpression[] parameters) { var expression = TmphTypePool<TmphLambdaExpression>.Pop() ?? new TmphLambdaExpression(); expression.set(body, parameters); return expression; }