Пример #1
0
        /// <inheritdoc/>
        public IParameterBuilderWithParameter Trace <TParam, TValue>(string parameterName, string alias, params Expression <Func <TParam, TValue> >[] accessorExpressions)
        {
            if (accessorExpressions == null)
            {
                throw new ArgumentNullException("accessorExpressions");
            }

            ParameterBuilder newBuilder = New();
            ParameterBuilder builder    = newBuilder;

            foreach (var a in accessorExpressions)
            {
                // attempt to get the name of the parameter off of a simple expression
                string           accessorAlias = null;
                MemberExpression expression    = a.Body as MemberExpression;
                if (expression != null)
                {
                    accessorAlias = expression.Member.Name;
                }

                builder = builder.AndImpl(parameterName, accessorAlias, a);
            }

            // make sure that the alias is always the parameter name
            if (alias != null)
            {
                newBuilder.Alias = alias;
            }

            return(builder);
        }
Пример #2
0
        /// <inheritdoc/>
        public IParameterBuilderWithParameter And(params string[] parameterNames)
        {
            if (parameterNames == null)
            {
                throw new ArgumentNullException("parameterNames");
            }

            ParameterBuilder builder = this;

            foreach (var p in parameterNames)
            {
                builder = (ParameterBuilder)builder.AndImpl(p, p, (LambdaExpression)null);
            }

            return(builder);
        }