public string Render( ILanguageProvider language, MethodSignature signature, MethodRenderOption options) { var builder = new StringBuilder(); // Add link. if ((options & MethodRenderOption.Link) == MethodRenderOption.Link) { builder.AppendFormat(@"<a href=""{0}"">", signature.Url); } if ((options & MethodRenderOption.Name) == MethodRenderOption.Name) { builder.Append(signature.Name); } if ((options & MethodRenderOption.Parameters) == MethodRenderOption.Parameters) { builder.Append("("); var parameterResult = new List <string>(); foreach (var parameter in signature.Parameters) { var parameterBuilder = new StringBuilder(); if (parameter.IsOutParameter) { parameterBuilder.Append("out "); } else if (parameter.IsRefParameter) { parameterBuilder.Append("ref "); } var paramType = _renderer.Render(language, parameter.ParameterType, TypeRenderOption.Name); parameterBuilder.Append(paramType); parameterResult.Add(parameterBuilder.ToString()); } if (parameterResult.Count > 0) { builder.Append(string.Join(", ", parameterResult)); } builder.Append(")"); } if ((options & MethodRenderOption.Link) == MethodRenderOption.Link) { builder.Append(@"</a>"); } return(builder.ToString()); }
public string Render(ILanguageProvider language, TypeSignature signature, TypeRenderOption options) { return(_typeRenderer.Render(language, signature, options)); }