コード例 #1
0
        private void WritePrimitiveInvocation(
            string keyword,
            KeywordArgumentKind argumentKind,
            KeywordArrayKind arrayKind   = KeywordArrayKind.None,
            string discriminatorKey      = null,
            string discriminatorVariable = null)
        {
            _writer
            .WriteCommand(NewPSArmEntryCommand.KeywordName)
            .WriteParameter(nameof(NewPSArmEntryCommand.Key))
            .WriteSpace()
            .WriteValue(keyword);

            if (discriminatorKey is not null)
            {
                _writer
                .WriteParameter(nameof(NewPSArmEntryCommand.DiscriminatorKey))
                .WriteSpace()
                .WriteValue(discriminatorKey)
                .WriteParameter(nameof(NewPSArmEntryCommand.DiscriminatorValue))
                .WriteSpace()
                .WriteVariable(discriminatorVariable);
            }

            switch (argumentKind)
            {
            case KeywordArgumentKind.Value:
                _writer
                .WriteParameter(nameof(NewPSArmEntryCommand.Value))
                .WriteSpace()
                .WriteVariable(KeywordValueParameter);
                break;

            case KeywordArgumentKind.Body:
                _writer
                .WriteParameter(nameof(NewPSArmEntryCommand.Body))
                .WriteSpace()
                .WriteVariable(KeywordBodyParameter);
                break;
            }

            switch (arrayKind)
            {
            case KeywordArrayKind.Entry:
                _writer.WriteParameter(nameof(NewPSArmEntryCommand.Array));
                break;

            case KeywordArrayKind.NestedBody:
                _writer.WriteParameter(nameof(NewPSArmEntryCommand.ArrayBody));
                break;
            }
        }
コード例 #2
0
        private void WritePrimitiveInvocation(
            string keyword,
            KeywordArgumentKind argumentKind,
            int arrayDepth,
            string discriminatorKey      = null,
            string discriminatorVariable = null)
        {
            switch (arrayDepth)
            {
            case 0:
                WritePrimitiveInvocation(keyword, argumentKind, discriminatorKey: discriminatorKey, discriminatorVariable: discriminatorVariable);
                return;

            case 1:
                WritePrimitiveInvocation(keyword, argumentKind, KeywordArrayKind.Entry, discriminatorKey, discriminatorVariable);
                return;

            default:
                WritePrimitiveInvocation(keyword, KeywordArgumentKind.Body, KeywordArrayKind.NestedBody, discriminatorKey, discriminatorVariable);
                return;
            }
        }