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


C# ExpressionType.IsSupported方法代码示例

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


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

示例1: AppendBinaryPart

        private void AppendBinaryPart(Expression node, ExpressionType type)
        {
            switch (type)
            {
                case ExpressionType.Invoke:
                    var invocation = (InvocationExpression) node;
                    Visit(invocation.Expression);
                    break;

                case ExpressionType.New:
                case ExpressionType.NewArrayInit:
                case ExpressionType.Constant:
                    AppendConstant(_constantEvaluator.Evaluate(node));
                    break;

                case ExpressionType.Convert:
                case ExpressionType.ConvertChecked:
                    var unary = (UnaryExpression) node;
                    AppendConstant(_constantEvaluator.Evaluate(unary.Operand));
                    break;

                case ExpressionType.MemberAccess:
                    var member = (MemberExpression) node;
                    Expression expression = member.Expression;
                    if (expression != null && expression.NodeType == ExpressionType.Parameter)
                    {
                        AppendParameter(node);
                    }
                    else
                    {
                        AppendConstant(node);
                    }
                    break;

                default:
                    // Check whether expression is binary
                    if (type.IsSupported())
                    {
                        Visit(node);
                    }
                    else
                    {
                        string message = String.Format(Resources.TranslatorMemberNotSupported, type);
                        throw new ArgumentException(message);
                    }
                    break;
            }
        }
开发者ID:MarkDeVerno,项目名称:WindowsAzure,代码行数:48,代码来源:ExpressionTranslator.cs


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