CompositeTypeAdapter Class

Namespace
Kampute.DocToolkit.Metadata.Adapters
Assembly
  • Kampute.DocToolkit.dll

Definition

An abstract adapter that wraps a composite Type such as a class or struct and provides metadata access.
public abstract class CompositeTypeAdapter : GenericCapableTypeAdapter, ICompositeType
Inheritance
Implements
Inherited by

Remarks

This class serves as a bridge between the reflection-based Type and the metadata representation defined by the ICompositeType interface. It provides access to composite type information regardless of whether the assembly containing the type was loaded via Common Language Runtime (CLR) or Metadata Load Context (MLC).

Thread Safety

All public members of the type are guaranteed to be thread-safe.

Constructors

CompositeTypeAdapter(object, Type)Initializes a new instance of the CompositeTypeAdapter class.

Properties

ConstructorsGets all the public or protected constructors declared by the type.
EventsGets all the public or protected events declared, overridden, or implemented by the type.
ExplicitInterfaceEventsGets all the explicit interface events implemented by the type.
ExplicitInterfaceMethodsGets all the explicit interface methods implemented by the type.
ExplicitInterfacePropertiesGets all the explicit interface properties implemented by the type.
FieldsGets all the public or protected fields declared by the type.
InterfacesGets all the interfaces that the type extends, implements, or inherits.
MethodsGets all the public or protected methods declared, overridden, or implemented by the type.
NestedTypesGets all the public or protected nested types declared directly by the type.
OperatorsGets all the operator methods declared by the type.
PropertiesGets all the public or protected properties declared, overridden, or implemented by the type.

Methods

GetConstructors()Retrieves the visible constructors declared by the type.
GetEvents()Retrieves the visible events declared by the type.
GetExplicitInterfaceEvents()Retrieves the explicit interface events implemented by the type.
GetExplicitInterfaceMethods()Retrieves the explicit interface methods implemented by the type.
GetExplicitInterfaceProperties()Retrieves the explicit interface properties implemented by the type.
GetFields()Retrieves the visible fields declared by the type.
GetInterfaces()Retrieves the interfaces implemented or inherited by the type.
GetMethods()Retrieves the visible methods declared by the type.
GetNestedTypes()Retrieves the types nested within the type.
GetOperators()Retrieves the operator methods declared by the type.
GetProperties()Retrieves the visible properties declared by the type.
IsExplicitMember(MemberInfo)Determines whether a member is an explicit interface implementation.
IsExplicitMethod(MethodInfo)Determines whether a method is an explicit interface implementation.
IsVisibleField(FieldInfo)Determines whether a field is visible based on its access modifiers.
IsVisibleMethod(MethodBase)Determines whether a method is visible based on its access modifiers.
IsVisibleNestedType(Type)Determines whether a nested type is visible based on its access modifiers.

Extension Methods

GetInheritedMember(this IMember)Retrieves the member that this member directly inherits from.
GetMemberDefinition(this IMember)Retrieves the definition of the member, resolving any constructed or decorated forms to their underlying definitions.
GetMembers(this IType)Gets all members directly declared by the type, excluding nested types.
GetMembersIncludingNested(this IType)Gets all members of the type, including its nested types and their members at all nesting levels.
TryGetOwnTypeParameters(this IMember, out IEnumerable<ITypeParameter>)Attempts to get the type parameters declared directly by the specified member if it is generic.