ApiMember
Pennington.ApiMetadata
Single member (property, field, method, constructor, or event) of a documented type, with all display strings pre-formatted by the backend provider.
Properties
DefaultValuestring- Formatted default value literal, or
nullwhen none is declared. HasInheritDocDirectivebool- Whether the source xmldoc carried an
<inheritdoc/>directive; consumers use this to suppress "missing summary" diagnostics when inheritance didn't resolve. InheritedFromNamestring- When the member is inherited, the short name of the declaring type for grouping headers (e.g.
IContentEmitter).nullfor directly-declared members. InheritedFromUidstring- When the member is inherited from a base interface (rather than declared on the queried type), the xmldocid of the declaring type.
nullfor directly-declared members. IsRequiredbool- Whether the member carries the
requiredmodifier. KindMemberKind- The kind of member this record represents.
Namestring- Display name of the member (for methods, includes type-parameter list; for constructors, the containing type name).
ParametersImmutableArray<ApiParameter>- Formatted parameter list for methods/constructors; empty for properties/fields/events.
ReturnTypeDisplaystring- Formatted return type for methods that return a value;
nullotherwise. SignatureHtmlstring- Pre-highlighted declaration HTML ready to inject with
@((MarkupString)…), ornullwhen no declaration signature is available. TypeDisplaystring- Human-readable type signature (return type for methods, declared type for properties/fields/events).
Uidstring- Canonical xmldocid (e.g.
M:Namespace.Type.Method(System.Int32)). XmldocParsedXmlDoc- Parsed xmldoc for the member.
Constructors
ApiMember
#public ApiMember(string Uid, string Name, MemberKind Kind, string TypeDisplay, string DefaultValue, bool IsRequired, bool HasInheritDocDirective, ParsedXmlDoc Xmldoc, string SignatureHtml, ImmutableArray<ApiParameter> Parameters, string ReturnTypeDisplay, string InheritedFromUid = null, string InheritedFromName = null)
Single member (property, field, method, constructor, or event) of a documented type, with all display strings pre-formatted by the backend provider.
Parameters
Uidstring- Canonical xmldocid (e.g.
M:Namespace.Type.Method(System.Int32)). Namestring- Display name of the member (for methods, includes type-parameter list; for constructors, the containing type name).
KindMemberKind- The kind of member this record represents.
TypeDisplaystring- Human-readable type signature (return type for methods, declared type for properties/fields/events).
DefaultValuestring- Formatted default value literal, or
nullwhen none is declared. IsRequiredbool- Whether the member carries the
requiredmodifier. HasInheritDocDirectivebool- Whether the source xmldoc carried an
<inheritdoc/>directive; consumers use this to suppress "missing summary" diagnostics when inheritance didn't resolve. XmldocParsedXmlDoc- Parsed xmldoc for the member.
SignatureHtmlstring- Pre-highlighted declaration HTML ready to inject with
@((MarkupString)…), ornullwhen no declaration signature is available. ParametersImmutableArray<ApiParameter>- Formatted parameter list for methods/constructors; empty for properties/fields/events.
ReturnTypeDisplaystring- Formatted return type for methods that return a value;
nullotherwise. InheritedFromUidstring- When the member is inherited from a base interface (rather than declared on the queried type), the xmldocid of the declaring type.
nullfor directly-declared members. InheritedFromNamestring- When the member is inherited, the short name of the declaring type for grouping headers (e.g.
IContentEmitter).nullfor directly-declared members.
Pennington.ApiMetadata.ApiMember
namespace Pennington.ApiMetadata;
/// Single member (property, field, method, constructor, or event) of a documented type, with all display strings pre-formatted by the backend provider.
public record ApiMember
{
/// Single member (property, field, method, constructor, or event) of a documented type, with all display strings pre-formatted by the backend provider.
public ApiMember(string Uid, string Name, MemberKind Kind, string TypeDisplay, string DefaultValue, bool IsRequired, bool HasInheritDocDirective, ParsedXmlDoc Xmldoc, string SignatureHtml, ImmutableArray<ApiParameter> Parameters, string ReturnTypeDisplay, string InheritedFromUid = null, string InheritedFromName = null)
;
/// Formatted default value literal, or null when none is declared.
public string DefaultValue { get; set; }
/// Whether the source xmldoc carried an <inheritdoc/> directive; consumers use this to suppress "missing summary" diagnostics when inheritance didn't resolve.
public bool HasInheritDocDirective { get; set; }
/// When the member is inherited, the short name of the declaring type for grouping headers (e.g. IContentEmitter). null for directly-declared members.
public string InheritedFromName { get; set; }
/// When the member is inherited from a base interface (rather than declared on the queried type), the xmldocid of the declaring type. null for directly-declared members.
public string InheritedFromUid { get; set; }
/// Whether the member carries the required modifier.
public bool IsRequired { get; set; }
/// The kind of member this record represents.
public MemberKind Kind { get; set; }
/// Display name of the member (for methods, includes type-parameter list; for constructors, the containing type name).
public string Name { get; set; }
/// Formatted parameter list for methods/constructors; empty for properties/fields/events.
public ImmutableArray<ApiParameter> Parameters { get; set; }
/// Formatted return type for methods that return a value; null otherwise.
public string ReturnTypeDisplay { get; set; }
/// Pre-highlighted declaration HTML ready to inject with @((MarkupString)…), or null when no declaration signature is available.
public string SignatureHtml { get; set; }
/// Human-readable type signature (return type for methods, declared type for properties/fields/events).
public string TypeDisplay { get; set; }
/// Canonical xmldocid (e.g. M:Namespace.Type.Method(System.Int32)).
public string Uid { get; set; }
/// Parsed xmldoc for the member.
public ParsedXmlDoc Xmldoc { get; set; }
}