Exemple #1
0
        private void FormatValueExpression(MemberAccessNode me, ConstantNode ce, NodeExpression finalExpression)
        {
            if (ce.Value is null && !ce.ForceParameter)
            {
                return;
            }

            finalExpression.Append(' ');

            var memberName    = me.Parent != null ? $"{me.Parent.MemberName}.{me.MemberName}" : me.MemberName;
            var parameterName = memberName.Replace(".", "");
            var type          = ce.ParameterType;

            if (type != typeof(string) && (type.IsArray || typeof(IEnumerable).IsAssignableFrom(type)))
            {
                parameterName += "Collection";
            }

            if (me.Formatter != null)
            {
                finalExpression.Append(me.Formatter($"@{parameterName}"));
            }
            else
            {
                finalExpression.Append($"@{parameterName}");
            }

            finalExpression.Parameters.Add(new NodeParameter(parameterName, ce.Value));
        }