/// <summary> /// Build parameters. /// </summary> /// <param name="methodBuilder">The method builder.</param> /// <param name="methodParms">An array of <see cref="ControllerMethodParameterAttribute"/> objects.</param> private void BuildParameters( IMethodBuilder methodBuilder, IEnumerable <ControllerMethodParameterAttribute> methodParms) { foreach (var methodParm in methodParms) { methodBuilder.Param( parmBuilder => { parmBuilder .Name(methodParm.ParameterName) .Type(methodParm.ParameterType); this.ApplyParameterAttributes( parmBuilder, methodParm); }); } }
/// <summary> /// Build parameters. /// </summary> /// <param name="methodBuilder">The method builder.</param> /// <param name="parmInfos">An array of <see cref="ParameterInfo"/> objects.</param> private void BuildParameters( IMethodBuilder methodBuilder, ParameterInfo[] parmInfos) { for (int i = 0; i < parmInfos.Length; i++) { methodBuilder.Param( (parmBuilder) => { parmBuilder .Type(parmInfos[i].ParameterType) .Name(parmInfos[i].Name); ////parmInfos[i].Attributes); this.ApplyParameterAttributes( parmInfos[i], parmBuilder); }); } }
/// <summary> /// Defines an ref parameter. /// </summary> /// <param name="methodBuilder">A <see cref="IMethodBuilder"/> instance.</param> /// <param name="parameterName">The name of parameter.</param> /// <returns>The <see cref="IMethodBuilder"/> instance.</returns> public static IMethodBuilder RefParam <TParam>(this IMethodBuilder methodBuilder, string parameterName) { return(methodBuilder.Param(typeof(TParam).MakeByRefType(), parameterName, ParameterAttributes.None)); }
/// <summary> /// Defines a parameter. /// </summary> /// <param name="methodBuilder">A <see cref="IMethodBuilder"/> instance.</param> /// <param name="parameterName">The name of parameter.</param> /// <param name="attrs">The parameters attribtes</param> /// <returns>The <see cref="IMethodBuilder"/> instance.</returns> public static IMethodBuilder Param <TParam>(this IMethodBuilder methodBuilder, string parameterName, ParameterAttributes attrs = ParameterAttributes.None) { return(methodBuilder.Param(typeof(TParam), parameterName, attrs)); }
/// <summary> /// Defines a parameter. /// </summary> /// <param name="methodBuilder">A <see cref="IMethodBuilder"/> instance.</param> /// <returns>The <see cref="IMethodBuilder"/> instance.</returns> public static IMethodBuilder Param <TParam>(this IMethodBuilder methodBuilder) { return(methodBuilder.Param <TParam>(null)); }