本文整理汇总了C#中System.Linq.Expressions.Expression.GetLevelExpression方法的典型用法代码示例。如果您正苦于以下问题:C# Expression.GetLevelExpression方法的具体用法?C# Expression.GetLevelExpression怎么用?C# Expression.GetLevelExpression使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Linq.Expressions.Expression
的用法示例。
在下文中一共展示了Expression.GetLevelExpression方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: IsExpression
public override bool IsExpression(Expression expression, int level, RequestFor requestFlag)
{
switch (requestFlag)
{
case RequestFor.Root : return expression == Lambda.Parameters[0];
case RequestFor.Association :
case RequestFor.Object :
case RequestFor.Field :
case RequestFor.Expression :
{
var levelExpression = expression.GetLevelExpression(level);
return levelExpression == expression ?
Sequence.IsExpression(null, 0, requestFlag) :
Sequence.IsExpression(expression, level + 1, requestFlag);
}
}
return false;
}
示例2: IsExpression
public override IsExpressionResult IsExpression(Expression expression, int level, RequestFor requestFlag)
{
switch (requestFlag)
{
case RequestFor.Root : return new IsExpressionResult(Lambda.Parameters.Count > 0 && expression == Lambda.Parameters[0]);
case RequestFor.Table :
case RequestFor.Association :
case RequestFor.Object :
case RequestFor.GroupJoin :
case RequestFor.Field :
case RequestFor.Expression :
{
var levelExpression = expression.GetLevelExpression(level);
return levelExpression == expression ?
Sequence.IsExpression(null, 0, requestFlag) :
Sequence.IsExpression(expression, level + 1, requestFlag);
}
}
return IsExpressionResult.False;
}