Exemple #1
0
        /// <summary>
        /// Gets the code for the header of an extension method.
        /// </summary>
        /// <param name="methodName">Name of the method.</param>
        /// <param name="extender">The extender.</param>
        /// <param name="parameters">The parameters.</param>
        /// <param name="returnType">Type of the return.</param>
        /// <returns>The code.</returns>
        public virtual string GetExtensionMethodHeader(string methodName, MethodParameter extender, MethodParameter[] parameters,
                                                       Type returnType)
        {
            var sb = new StringBuilder(256);

            sb.Append(GetMethodNameAndVisibility(methodName, MemberVisibilityLevel.Public, returnType, false, true));

            sb.Append(OpenParameterString);

            // First parameter
            sb.Append("this ");
            sb.Append(GetParameter(extender));

            // Additional parameters
            if (parameters != null && parameters.Length > 0)
            {
                sb.Append(ParameterSpacer);
                sb.Append(GetParameters(parameters));
            }

            sb.Append(CloseParameterString);
            return(sb.ToString());
        }
Exemple #2
0
 /// <summary>
 /// Gets the code for creating a parameter.
 /// </summary>
 /// <param name="parameter">The parameter.</param>
 /// <returns>The code.</returns>
 public virtual string GetParameter(MethodParameter parameter)
 {
     return(parameter.Type + " " + parameter.Name);
 }