This documentation is also published as Markdown for efficient machine reading: the whole site is indexed at /llms.txt, and every page has a clean Markdown copy under /_llms/. These are generated from the same source and cost far fewer tokens to read than this rendered HTML.

Skip to main content Skip to navigation

CompiledAssemblyApiMetadataProvider Pennington.ApiMetadata.Reflection

Reflection-backed IApiMetadataProvider. Loads configured .dll files via MetadataLoadContext, pairs each with its companion .xml xmldoc file, and materializes the provider DTOs. No source code and no MSBuild workspace required.

Constructors

CompiledAssemblyApiMetadataProvider

#
public CompiledAssemblyApiMetadataProvider(CompiledAssemblyApiOptions options, IXmlDocParser xmlDocParser, ICodeHighlighter highlighter)

Initializes the provider.

Parameters

options CompiledAssemblyApiOptions
xmlDocParser IXmlDocParser
highlighter ICodeHighlighter

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

receiverTypeName string

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

uid string

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

typeUid string
Uid of the type whose members are returned.
kind MemberKind
Member categories to include (properties, methods, and so on).
access AccessFilter
Accessibility levels to include.
order MemberOrder
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

uid string

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

uid string

Returns

Task<ParsedXmlDoc>

Pennington.ApiMetadata.Reflection.CompiledAssemblyApiMetadataProvider

namespace Pennington.ApiMetadata.Reflection;

/// Reflection-backed IApiMetadataProvider. Loads configured .dll files via MetadataLoadContext, pairs each with its companion .xml xmldoc file, and materializes the provider DTOs. No source code and no MSBuild workspace required.
public class CompiledAssemblyApiMetadataProvider
{
    /// Initializes the provider.
    
public CompiledAssemblyApiMetadataProvider(CompiledAssemblyApiOptions options, IXmlDocParser xmlDocParser, ICodeHighlighter highlighter)
; /// 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)
; }