private void WriteConstructor(ConstructorTarget constructor, DisplayOptions options, XmlWriter writer) { WriteType(constructor.ContainingType, options & ~DisplayOptions.ShowContainer, writer); if ((options & DisplayOptions.ShowParameters) > 0) { WriteMethodParameters(constructor.Parameters, writer); } }
/// <summary> /// Create a member target /// </summary> /// <param name="api">The node from which to get the target information</param> /// <returns>The member target</returns> public static MemberTarget CreateMemberTarget(XPathNavigator api) { string subgroup = (string)api.Evaluate(apiSubgroupExpression); MemberTarget target; if (subgroup == "method") { target = CreateMethodTarget(api); } else if (subgroup == "property") { target = CreatePropertyTarget(api); } else if (subgroup == "constructor") { target = new ConstructorTarget(CreateParameterList(api)); } else if (subgroup == "event") { target = CreateEventTarget(api); } else { target = new MemberTarget(); } target.Name = (string)api.Evaluate(apiNameExpression); target.ContainingType = CreateSimpleTypeReference(api.SelectSingleNode(apiContainingTypeExpression)); target.OverloadId = (string)api.Evaluate(apiOverloadIdExpression); return(target); }
private void WriteMemberTarget(MemberTarget target, DisplayOptions options, XmlWriter writer, Dictionary <IndexedTemplateTypeReference, TypeReference> dictionary) { if (target == null) { throw new ArgumentNullException("target"); } if (writer == null) { throw new ArgumentNullException("writer"); } MethodTarget method = target as MethodTarget; if ((options & DisplayOptions.ShowContainer) > 0) { WriteType(target.ContainingType, options & ~DisplayOptions.ShowContainer, writer); if (method != null && method.IsConversionOperator) { writer.WriteString(" "); } else { WriteSeparator(writer); } } // special logic for writing methods if (method != null) { WriteMethod(method, options, writer, dictionary); return; } // special logic for writing properties PropertyTarget property = target as PropertyTarget; if (property != null) { WriteProperty(property, options, writer); return; } // special logic for writing constructors ConstructorTarget constructor = target as ConstructorTarget; if (constructor != null) { WriteConstructor(constructor, options, writer); return; } // special logic for writing events EventTarget trigger = target as EventTarget; if (trigger != null) { WriteEvent(trigger, writer); return; } // by default, just write name writer.WriteString(target.Name); }
/// <summary> /// Create a member target /// </summary> /// <param name="api">The node from which to get the target information</param> /// <returns>The member target</returns> public static MemberTarget CreateMemberTarget(XPathNavigator api) { string subgroup = (string)api.Evaluate(apiSubgroupExpression); MemberTarget target; if(subgroup == "method") target = CreateMethodTarget(api); else if(subgroup == "property") target = CreatePropertyTarget(api); else if(subgroup == "constructor") target = new ConstructorTarget(CreateParameterList(api)); else if(subgroup == "event") target = CreateEventTarget(api); else target = new MemberTarget(); target.Name = (string)api.Evaluate(apiNameExpression); target.ContainingType = CreateSimpleTypeReference(api.SelectSingleNode(apiContainingTypeExpression)); target.OverloadId = (string)api.Evaluate(apiOverloadIdExpression); return target; }
private void WriteConstructor(ConstructorTarget constructor, DisplayOptions options, XmlWriter writer) { WriteType(constructor.ContainingType, options & ~DisplayOptions.ShowContainer, writer); if((options & DisplayOptions.ShowParameters) > 0) WriteMethodParameters(constructor.Parameters, writer); }