IApiMetadataProvider
Pennington.ApiMetadata
Backend-neutral source of API documentation metadata. Implementations adapt compiled assemblies, or other metadata sources, to a single contract consumed by the API reference UI.
Methods
GetExtensionMethodsForAsync
#public Task<ImmutableArray<ExtensionMethodEntry>> GetExtensionMethodsForAsync(string receiverTypeName)
Returns public extension methods whose first parameter's receiver type has the unqualified name receiverTypeName. Backends that cannot enumerate extensions (e.g. DocFx YAML) return an empty array.
Parameters
receiverTypeNamestring
Returns
Task<ImmutableArray<ExtensionMethodEntry>>GetMemberAsync
#public Task<ApiMember> GetMemberAsync(string uid)
Returns a standalone ApiMember for the method/property/field/event identified by uid, or null when the uid is unknown or resolves to a type. Used by components that render a single member (e.g. <ApiParameterTable>).
Parameters
uidstring
Returns
Task<ApiMember>GetMembersAsync
#public Task<ImmutableArray<ApiMember>> GetMembersAsync(string typeUid, MemberKind kind, AccessFilter access, MemberOrder order)
Returns members of the type identified by typeUid matching the filters.
Parameters
typeUidstring- Uid of the type whose members are returned.
kindMemberKind- Member categories to include (properties, methods, and so on).
accessAccessFilter- Accessibility levels to include.
orderMemberOrder- Sort order applied to the returned members.
Returns
Task<ImmutableArray<ApiMember>>GetTypeAsync
#public Task<ApiTypeDetail> GetTypeAsync(string uid)
Returns full detail for the type identified by uid, or null when the type is not known to this provider.
Parameters
uidstring
Returns
Task<ApiTypeDetail>GetTypesAsync
#public Task<ImmutableArray<ApiTypeSummary>> GetTypesAsync()
Returns every documented type the provider knows about, sorted by FullTypeName.
Returns
Task<ImmutableArray<ApiTypeSummary>>GetXmldocAsync
#public Task<ParsedXmlDoc> GetXmldocAsync(string uid)
Returns parsed xmldoc for the type or member identified by uid, or Empty when the uid is unknown. Used by inline components like <ApiSummary> that target arbitrary symbols.
Parameters
uidstring
Returns
Task<ParsedXmlDoc>Pennington.ApiMetadata.IApiMetadataProvider
namespace Pennington.ApiMetadata;
/// Backend-neutral source of API documentation metadata. Implementations adapt compiled assemblies, or other metadata sources, to a single contract consumed by the API reference UI.
public interface IApiMetadataProvider
{
/// Returns public extension methods whose first parameter's receiver type has the unqualified name receiverTypeName. Backends that cannot enumerate extensions (e.g. DocFx YAML) return an empty array.
public Task<ImmutableArray<ExtensionMethodEntry>> GetExtensionMethodsForAsync(string receiverTypeName)
;
/// Returns a standalone ApiMember for the method/property/field/event identified by uid, or null when the uid is unknown or resolves to a type. Used by components that render a single member (e.g. <ApiParameterTable>).
public Task<ApiMember> GetMemberAsync(string uid)
;
/// Returns members of the type identified by typeUid matching the filters.
public Task<ImmutableArray<ApiMember>> GetMembersAsync(string typeUid, MemberKind kind, AccessFilter access, MemberOrder order)
;
/// Returns full detail for the type identified by uid, or null when the type is not known to this provider.
public Task<ApiTypeDetail> GetTypeAsync(string uid)
;
/// Returns every documented type the provider knows about, sorted by FullTypeName.
public Task<ImmutableArray<ApiTypeSummary>> GetTypesAsync()
;
/// Returns parsed xmldoc for the type or member identified by uid, or Empty when the uid is unknown. Used by inline components like <ApiSummary> that target arbitrary symbols.
public Task<ParsedXmlDoc> GetXmldocAsync(string uid)
;
}