protected abstract void RenderConstructor(StringBuilder builder, MethodApiView m);
protected override void RenderConstructor(StringBuilder builder, MethodApiView m) { builder.Append(m.Name); }
public void Render(MethodApiView m, StringListApiView list, int indents = 0) { if (m.Attributes.Any()) { foreach (var attribute in m.Attributes) { Render(attribute, list, indents); } } var builder = new StringBuilder(); AppendIndents(builder, indents); if (!m.IsInterfaceMethod) { RenderKeyword(builder, m.Accessibility); builder.Append(" "); } if (m.IsStatic) { RenderKeyword(builder, "static"); builder.Append(" "); } if (m.IsVirtual) { RenderKeyword(builder, "virtual"); builder.Append(" "); } if (m.IsSealed) { RenderKeyword(builder, "sealed"); builder.Append(" "); } if (m.IsOverride) { RenderKeyword(builder, "override"); builder.Append(" "); } if (m.IsAbstract && !m.IsInterfaceMethod) { RenderKeyword(builder, "abstract"); builder.Append(" "); } if (m.IsExtern) { RenderKeyword(builder, "extern"); builder.Append(" "); } if (m.ReturnType != null) { Render(m.ReturnType, builder); builder.Append(" "); } if (m.IsConstructor) { RenderConstructor(builder, m); } else { RenderCommentable(builder, m.Id, m.Name); } if (m.TypeParameters.Any()) { RenderPunctuation(builder, "<"); foreach (var tp in m.TypeParameters) { Render(tp, builder); builder.Append(", "); } builder.Length -= 2; RenderPunctuation(builder, ">"); } builder.Append("("); if (m.Parameters.Any()) { bool isFirst = true; foreach (ParameterApiView p in m.Parameters) { if (isFirst) { isFirst = false; if (m.IsExtensionMethod) { RenderKeyword(builder, "this"); builder.Append(" "); } } else { builder.Append(", "); } Render(p, builder); } } if (m.IsInterfaceMethod || m.IsAbstract) { builder.Append(");"); } else { builder.Append(") { }"); } list.Add(new LineApiView(builder.ToString(), m.Id)); }
protected override void RenderConstructor(StringBuilder builder, MethodApiView m) { builder.Append("<a href=\"#\" id=\"").Append(EscapeHTML(m.Id)).Append("\" class=\"class commentable\">") .Append(EscapeHTML(m.Name)).Append("</a>"); }