本文整理汇总了C#中Expression.Expand方法的典型用法代码示例。如果您正苦于以下问题:C# Expression.Expand方法的具体用法?C# Expression.Expand怎么用?C# Expression.Expand使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Expression
的用法示例。
在下文中一共展示了Expression.Expand方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Expand
public static Expression Expand(Expression f, Expression x)
{
return f.Expand(x);
}
示例2: VisitUnknown
protected override Expression VisitUnknown(Expression E)
{
Expression LE = Call.IL(E, s, t);
// Try applying a known rule to E.
Expression TLE = rules.Transform(LE, x => !x.DependsOn(s));
if (!ReferenceEquals(TLE, LE))
return TLE;
// Try expanding E.
Expression Ex = E.Expand(s);
if (!Equals(E, Ex))
return Visit(Ex);
// Try -IL(-E, s, t)
// TODO: It would be nice to handle this case in LinearTransform somehow.
Expression NE = Unary.Negate(E);
Expression NEx = NE.Evaluate();
if (!Equals(NE, NEx))
return Unary.Negate(Visit(NEx));
// Give up.
return LE;
}