public AttributeDetail(RootDetail parent, CustomAttributeData cad) : base(parent, cad.Constructor.DeclaringType.FullName) { _declaration = cad.ToString(); CodeStringBuilder csb = new CodeStringBuilder(); AppendAttributesDeclaration(csb); csb.AppendType(cad.Constructor.DeclaringType); using (var e = cad.ConstructorArguments.GetEnumerator()) { if (e.MoveNext()) { csb.AppendText("("); csb.AppendQuotedValue(e.Current.Value); while (e.MoveNext()) { csb.AppendText(", "); csb.AppendQuotedValue(e.Current.Value); } csb.AppendText(")"); } } _declaration = csb.ToString(); _declarationHtml = csb.ToHtmlString(); _declarationMarkdown = csb.ToMarkdownString(); if (cad.AttributeType.IsAssignableFrom(typeof(ExtensionAttribute))) { AttributeType = AttributeType.Extension; AppendInCode = false; } else if (cad.AttributeType.IsAssignableFrom(typeof(ObsoleteAttribute))) { AttributeType = AttributeType.Obsolete; } else if (cad.AttributeType.IsAssignableFrom(typeof(CompilerGeneratedAttribute))) { AttributeType = AttributeType.CompilerGenerated; AppendInCode = false; } }
public AttributeDetail(RootDetail parent, CustomAttributeData cad) : base(parent, cad.Constructor.DeclaringType.FullName) { _declaration = cad.ToString(); CodeStringBuilder csb = new CodeStringBuilder(); AppendAttributesDeclaration(csb); csb.AppendType(cad.Constructor.DeclaringType); if (cad.ConstructorArguments.Count > 0) { csb.AppendText("("); csb.AppendQuotedValue(cad.ConstructorArguments[0].Value); csb.AppendText(")"); } _declaration = csb.ToString(); _declarationHtml = csb.ToHtmlString(); }