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


C# BinaryExpressionSyntax.Validate方法代码示例

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


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

示例1: VisitBinaryExpression

        public void VisitBinaryExpression(BinaryExpressionSyntax node)
        {
            if (node == null)
                throw new ArgumentNullException("node");

            node.Validate();

            ExpressionStart(node);

            node.Left.Accept(this);

            bool writeSpace;
            bool wrap = false;

            switch (node.Operator)
            {
                case BinaryOperator.AsKeyword:
                case BinaryOperator.IsKeyword:
                    writeSpace = true;
                    break;

                case BinaryOperator.AmpersandEquals:
                case BinaryOperator.AsteriskEquals:
                case BinaryOperator.BarEquals:
                case BinaryOperator.CaretEquals:
                case BinaryOperator.Equals:
                case BinaryOperator.GreaterThanGreaterThanEquals:
                case BinaryOperator.LessThanLessThanEquals:
                case BinaryOperator.MinusEquals:
                case BinaryOperator.PercentEquals:
                case BinaryOperator.PlusEquals:
                case BinaryOperator.SlashEquals:
                    writeSpace = _writer.Configuration.Spaces.AroundOperators.AssignmentOperators;
                    break;

                case BinaryOperator.AmpersandAmpersand:
                case BinaryOperator.BarBar:
                    writeSpace = _writer.Configuration.Spaces.AroundOperators.LogicalOperators;
                    wrap = _wrapCompound;
                    break;

                case BinaryOperator.EqualsEquals:
                case BinaryOperator.ExclamationEquals:
                    writeSpace = _writer.Configuration.Spaces.AroundOperators.EqualityOperators;
                    break;

                case BinaryOperator.GreaterThan:
                case BinaryOperator.GreaterThanEquals:
                case BinaryOperator.LessThan:
                case BinaryOperator.LessThanEquals:
                    writeSpace = _writer.Configuration.Spaces.AroundOperators.RelationalOperators;
                    break;

                case BinaryOperator.Ampersand:
                case BinaryOperator.Bar:
                case BinaryOperator.Caret:
                    writeSpace = _writer.Configuration.Spaces.AroundOperators.BitwiseOperators;
                    break;

                case BinaryOperator.Minus:
                case BinaryOperator.Plus:
                    writeSpace = _writer.Configuration.Spaces.AroundOperators.AdditiveOperators;
                    break;

                case BinaryOperator.Asterisk:
                case BinaryOperator.Slash:
                case BinaryOperator.Percent:
                    writeSpace = _writer.Configuration.Spaces.AroundOperators.MultiplicativeOperators;
                    break;

                case BinaryOperator.GreaterThanGreaterThan:
                case BinaryOperator.LessThanLessThan:
                    writeSpace = _writer.Configuration.Spaces.AroundOperators.ShiftOperators;
                    break;

                case BinaryOperator.QuestionQuestion:
                    writeSpace = _writer.Configuration.Spaces.AroundOperators.NullCoalescingOperator;
                    break;

                default: throw ThrowHelper.InvalidEnumValue(node.Operator);
            }

            if (writeSpace)
                _writer.WriteSpace();

            if (_writer.Configuration.Other.AlignMultiLineConstructs.ChainedBinaryExpressions)
                _writer.SetAlignmentBreak(true);

            if (wrap && _writer.Configuration.LineBreaksAndWrapping.LineWrapping.PreferWrapBeforeOperatorInBinaryExpression)
                _writer.Break(true);

            switch (node.Operator)
            {
                case BinaryOperator.Ampersand: _writer.WriteOperator(PrinterOperator.Ampersand); break;
                case BinaryOperator.AmpersandAmpersand: _writer.WriteOperator(PrinterOperator.AmpersandAmpersand); break;
                case BinaryOperator.AmpersandEquals: _writer.WriteOperator(PrinterOperator.AmpersandEquals); break;
                case BinaryOperator.AsKeyword: _writer.WriteKeyword(PrinterKeyword.As); break;
                case BinaryOperator.Asterisk: _writer.WriteOperator(PrinterOperator.Asterisk); break;
                case BinaryOperator.AsteriskEquals: _writer.WriteOperator(PrinterOperator.AsteriskEquals); break;
                case BinaryOperator.Bar: _writer.WriteOperator(PrinterOperator.Bar); break;
//.........这里部分代码省略.........
开发者ID:modulexcite,项目名称:CSharpSyntax,代码行数:101,代码来源:SyntaxPrinter.cs


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