当前位置: 首页>>代码示例>>C#>>正文


C# ExpressionVisitor.VisitAndConvert方法代码示例

本文整理汇总了C#中System.Linq.Expressions.ExpressionVisitor.VisitAndConvert方法的典型用法代码示例。如果您正苦于以下问题:C# ExpressionVisitor.VisitAndConvert方法的具体用法?C# ExpressionVisitor.VisitAndConvert怎么用?C# ExpressionVisitor.VisitAndConvert使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在System.Linq.Expressions.ExpressionVisitor的用法示例。


在下文中一共展示了ExpressionVisitor.VisitAndConvert方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: VisitChildren

        /// <summary>
        /// 简化节点,然后对简化的表达式调用访问者委托。该方法在节点不可简化时引发异常。
        /// </summary>
        /// <returns>
        /// 要访问的表达式,或应在树中替换此表达式的表达式。
        /// </returns>
        /// <param name="visitor"><see cref="T:System.Func`2"/> 的一个实例。</param>
        protected override Expression VisitChildren(ExpressionVisitor visitor)
        {
            var newArguments = visitor.VisitAndConvert(_arguments, "VisitChildren");

            return newArguments != _arguments
                ? new SqlFunctionExpression(FunctionName, newArguments, Type)
                : this;
        }
开发者ID:Mozlite,项目名称:MozliteFramework,代码行数:15,代码来源:SqlFunctionExpression.cs

示例2: VisitChildren

        protected override Expression VisitChildren(ExpressionVisitor visitor)
        {
            var arguments = visitor.VisitAndConvert(new ReadOnlyCollection<Expression>(_arguments), "VisitChildren");

            return arguments != Arguments
                ? new SqlFunctionExpression(FunctionName, arguments, Type)
                : this;
        }
开发者ID:JamesWang007,项目名称:EntityFramework,代码行数:8,代码来源:SqlFunctionExpression.cs

示例3: VisitChildren

        protected override Expression VisitChildren(ExpressionVisitor visitor)
        {
            var newObject = visitor.Visit(MethodCall.Object);
            var newArguments = visitor.VisitAndConvert(MethodCall.Arguments, "VisitChildren");

            if (newObject != MethodCall.Object
                || newArguments != MethodCall.Arguments)
            {
                return new MethodCallEvaluationPreventingExpression(
                    Call(newObject, MethodCall.Method, newArguments));
            }

            return this;
        }
开发者ID:JamesWang007,项目名称:EntityFramework,代码行数:14,代码来源:MethodCallEvaluationPreventingExpression.cs

示例4: VisitParameters

        public static ParameterExpression[] VisitParameters(ExpressionVisitor visitor, IParameterProvider nodes, string callerName)
        {
            ParameterExpression[] newNodes = null;
            for (int i = 0, n = nodes.ParameterCount; i < n; i++)
            {
                ParameterExpression curNode = nodes.GetParameter(i);
                ParameterExpression node = visitor.VisitAndConvert(curNode, callerName);

                if (newNodes != null)
                {
                    newNodes[i] = node;
                }
                else if (!object.ReferenceEquals(node, curNode))
                {
                    newNodes = new ParameterExpression[n];
                    for (int j = 0; j < i; j++)
                    {
                        newNodes[j] = nodes.GetParameter(j);
                    }
                    newNodes[i] = node;
                }
            }
            return newNodes;
        }
开发者ID:chcosta,项目名称:corefx,代码行数:24,代码来源:ExpressionVisitorUtils.cs


注:本文中的System.Linq.Expressions.ExpressionVisitor.VisitAndConvert方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。