本文整理汇总了C#中Expression.Last方法的典型用法代码示例。如果您正苦于以下问题:C# Expression.Last方法的具体用法?C# Expression.Last怎么用?C# Expression.Last使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Expression
的用法示例。
在下文中一共展示了Expression.Last方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetBinding
static Expression GetBinding(bool hasExpression, Expression[] expression)
{
if (typeof(BindingBase).IsAssignableFrom(expression[0].Type))
return expression[0];
bool noSource = hasExpression? typeof(LambdaExpression).IsAssignableFrom(expression[0].Type) :
typeof(string).IsAssignableFrom(expression[0].Type);
Expression path = hasExpression? (noSource ? GetPathConstant(expression[0]): GetPathConstant(expression[1])):
(noSource ? expression[0]: expression[1]);
Expression source = noSource? null: expression[0];
Expression converter = expression.Length == (noSource? 2:3) ? expression.Last(): null;
NewExpression newExpr = Expression.New(ciBinding, path);
if (source == null && converter == null)
return newExpr;
List<MemberBinding> binding = new List<MemberBinding>();
if (source != null)
binding.Add(Expression.Bind(ciSource, source));
if (converter != null)
binding.Add(Expression.Bind(ciConverter, converter));
return Expression.MemberInit(newExpr, binding);
}
示例2: BlockExpression
internal BlockExpression(VariableExpression[] variables, Expression[] expressions)
: base(expressions.Last().Type)
{
this.Variables = variables;
this.Expressions = expressions;
}