Kampute.DocToolkit.Metadata Namespace

Provides metadata abstraction interfaces and adapters for unified access to reflection objects.

Remarks

This namespace contains interfaces and implementations that provide a unified abstraction layer over .NET reflection objects. This abstraction enables consistent access to assembly, type, and member metadata regardless of whether the assembly was loaded via Common Language Runtime (CLR) or through MetadataLoadContext (MLC).

The key benefits of this abstraction layer include:

Use MetadataProvider to create appropriate metadata abstractions from reflection objects.

Classes

MemberInfoComparerCompares MemberInfo instances for equality based on their metadata.
MetadataExtensionsProvides extension methods for working with metadata elements.
MetadataProviderProvides extension methods to retrieve metadata abstraction objects from reflection objects.
MetadataUniverseProvides metadata for assemblies in a specified universe.

Structs

TypedValueRepresents a value along with its associated type.

Interfaces

IAssemblyProvides a unified interface for accessing assembly metadata.
IClassTypeDefines a contract for accessing class-specific metadata.
ICompositeTypeDefines a contract for accessing metadata for types that are composite types.
IConstructorDefines a contract for accessing constructor metadata.
ICustomAttributeDefines a contract for accessing custom attribute metadata.
IDelegateTypeDefines a contract for accessing delegate-specific metadata.
IEnumTypeDefines a contract for accessing enum-specific metadata.
IEventDefines a contract for accessing event metadata.
IFieldDefines a contract for accessing field metadata.
IGenericCapableTypeDefines a contract for accessing metadata for types that can be generic.
IInterfaceCapableTypeDefines a contract for accessing metadata for types that can extend or implement interfaces.
IInterfaceTypeDefines a contract for accessing interface-specific metadata.
IMemberDefines a contract for accessing member metadata.
IMemberAdapterFactoryDefines a contract for creating metadata representations from reflection information of members.
IMemberAdapterRepositoryDefines a contract for a repository that manages member metadata within an assembly.
IMetadataAdapter<T>Defines a contract for metadata adapters that wrap reflection elements.
IMethodDefines a contract for accessing method metadata.
IMethodBaseDefines a contract for accessing metadata common to methods and method operators.
IOperatorDefines a contract for accessing operator method metadata.
IParameterDefines a contract for accessing parameter metadata.
IPrimitiveTypeDefines a contract for accessing primitive type-specific metadata.
IPropertyDefines a contract for accessing property metadata.
IStructTypeDefines a contract for accessing struct-specific metadata.
ITypeDefine a contract for accessing type-specific metadata.
ITypeDecoratorDefines a contract for types that decorate or wrap another type (arrays, pointers, by-ref, or nullable).
ITypeMemberDefines a contract for accessing type member metadata of a specific underlying type.
ITypeParameterDefines a contract for accessing generic type parameter metadata.
IVirtualTypeMemberDefines a contract for accessing metadata of members that can be overridden or implemented.

Enums

AttributeTargetDefines the target of an attribute.
MemberVirtualityRepresents the virtuality states for a member.
MemberVisibilityRepresents the visibility states for a member.
ParameterReferenceKindSpecifies the kind of reference for a parameter.
TypeModifierRepresents modifiers that can be applied to types.
TypeParameterConstraintsSpecifies the constraints on a type parameter.
TypeParameterVarianceSpecifies the variance of a type parameter.