本文整理汇总了C#中System.Linq.Expressions.ExpressionTreeVisitor类的典型用法代码示例。如果您正苦于以下问题:C# ExpressionTreeVisitor类的具体用法?C# ExpressionTreeVisitor怎么用?C# ExpressionTreeVisitor使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
ExpressionTreeVisitor类属于System.Linq.Expressions命名空间,在下文中一共展示了ExpressionTreeVisitor类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: VisitChildren
protected override Expression VisitChildren(ExpressionTreeVisitor visitor)
{
var newField = (LuceneQueryFieldExpression)visitor.VisitExpression(QueryField);
var newPattern = visitor.VisitExpression(QueryPattern);
return (newPattern == QueryPattern && newField == QueryField) ? this : new LuceneQueryPredicateExpression(newField, newPattern, Occur) { AllowSpecialCharacters = AllowSpecialCharacters };
}
示例2: BinaryExpressionTextGenerator
public BinaryExpressionTextGenerator (ISqlCommandBuilder commandBuilder, ExpressionTreeVisitor expressionVisitor)
{
ArgumentUtility.CheckNotNull ("commandBuilder", commandBuilder);
ArgumentUtility.CheckNotNull ("expressionVisitor", expressionVisitor);
_commandBuilder = commandBuilder;
_expressionVisitor = expressionVisitor;
_simpleOperatorRegistry = new Dictionary<ExpressionType, string>
{
{ ExpressionType.Add, "+" },
{ ExpressionType.AddChecked, "+" },
{ ExpressionType.And, "&" },
{ ExpressionType.AndAlso, "AND" },
{ ExpressionType.Divide, "/" },
{ ExpressionType.ExclusiveOr, "^" },
{ ExpressionType.GreaterThan, ">" },
{ ExpressionType.GreaterThanOrEqual, ">=" },
{ ExpressionType.LessThan, "<" },
{ ExpressionType.LessThanOrEqual, "<=" },
{ ExpressionType.Modulo, "%" },
{ ExpressionType.Multiply, "*" },
{ ExpressionType.MultiplyChecked, "*" },
{ ExpressionType.Or, "|" },
{ ExpressionType.OrElse, "OR" },
{ ExpressionType.Subtract, "-" },
{ ExpressionType.SubtractChecked, "-" },
{ ExpressionType.Equal, "=" },
{ ExpressionType.NotEqual, "<>" }
};
}
示例3: VisitChildren
public CaseWhenPair VisitChildren (ExpressionTreeVisitor visitor)
{
var newWhen = visitor.VisitExpression (_when);
var newThen = visitor.VisitExpression (_then);
return Update (newWhen, newThen);
}
示例4: VisitChildren
protected override Expression VisitChildren (ExpressionTreeVisitor visitor)
{
var newExpression = visitor.VisitExpression (_expression);
if (newExpression != _expression)
return new SqlExistsExpression (newExpression);
else
return this;
}
示例5: VisitChildren
protected override Expression VisitChildren(ExpressionTreeVisitor visitor)
{
var newExpression = visitor.VisitExpression(Expression);
return newExpression != Expression
? CreateNew(newExpression)
: this;
}
示例6: VisitChildren
protected override Expression VisitChildren(ExpressionTreeVisitor visitor)
{
var newExpression = visitor.VisitExpression(_operand);
return newExpression != _operand
? new NotNullableExpression(newExpression)
: this;
}
示例7: VisitChildren
protected override Expression VisitChildren(ExpressionTreeVisitor visitor)
{
var arguments = visitor.VisitAndConvert(Arguments, "VisitNhNew");
return arguments != Arguments
? new NhNewExpression(Members, arguments)
: this;
}
示例8: VisitChildren
protected override Expression VisitChildren (ExpressionTreeVisitor visitor)
{
var newPrimaryKeyExpression = visitor.VisitExpression (_identityExpression);
if (newPrimaryKeyExpression != _identityExpression)
return new SqlEntityConstantExpression (Type, _value, newPrimaryKeyExpression);
else
return this;
}
示例9: VisitChildren
protected override Expression VisitChildren(ExpressionTreeVisitor visitor)
{
var newPattern = visitor.VisitExpression(pattern);
if (Equals(pattern, newPattern)) return this;
return new AllowSpecialCharactersExpression(newPattern);
}
示例10: VisitChildren
protected override Expression VisitChildren (ExpressionTreeVisitor visitor)
{
var newExpressions = visitor.VisitAndConvert(_expressions, "VisitChildren");
if (newExpressions != Expressions)
return new SqlCompositeCustomTextGeneratorExpression (Type, newExpressions.ToArray());
else
return this;
}
示例11: Generate
public override void Generate (ISqlCommandBuilder commandBuilder, ExpressionTreeVisitor textGeneratingExpressionVisitor, ISqlGenerationStage stage)
{
ArgumentUtility.CheckNotNull ("commandBuilder", commandBuilder);
ArgumentUtility.CheckNotNull ("textGeneratingExpressionVisitor", textGeneratingExpressionVisitor);
ArgumentUtility.CheckNotNull ("stage", stage);
textGeneratingExpressionVisitor.VisitList (_expressions, textGeneratingExpressionVisitor.VisitExpression);
}
示例12: VisitChildren
protected override Expression VisitChildren (ExpressionTreeVisitor visitor)
{
var newColumns = visitor.VisitAndConvert (Columns, "VisitChildren");
if (newColumns != Columns)
return new SqlEntityDefinitionExpression (Type, TableAlias, null, IdentityExpressionGenerator, newColumns.ToArray ());
else
return this;
}
示例13: VisitChildren
protected override Expression VisitChildren (ExpressionTreeVisitor visitor)
{
var newChild = visitor.VisitExpression (Child);
if (newChild != Child)
return new CustomCompositeExpression (Type, newChild);
else
return this;
}
示例14: Generate
public override void Generate (ISqlCommandBuilder commandBuilder, ExpressionTreeVisitor textGeneratingExpressionVisitor, ISqlGenerationStage stage)
{
ArgumentUtility.CheckNotNull ("commandBuilder", commandBuilder);
ArgumentUtility.CheckNotNull ("textGeneratingExpressionVisitor", textGeneratingExpressionVisitor);
ArgumentUtility.CheckNotNull ("stage", stage);
commandBuilder.Append (_sqlText);
}
示例15: VisitChildren
protected override Expression VisitChildren(ExpressionTreeVisitor visitor)
{
var newExpression = visitor.VisitExpression(Expression);
return newExpression != Expression
? new NhNominatedExpression(newExpression)
: this;
}