MetadataExtensions.GetMemberDefinition Method

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

Definition

Retrieves the definition of the member, resolving any constructed or decorated forms to their underlying definitions.
public static IMember GetMemberDefinition(this IMember member)

Parameters

member IMember
The member whose definition is to be retrieved.

Returns

IMember
The member definition or the member itself if it is already a definition.

Exceptions

ArgumentNullException
Thrown when member is null.

Remarks

This method is particularly useful for resolving the canonical form of members for comparison or documentation purposes.

Based on the type of member, the following rules apply:

  • constructed generic types return their generic type definition
  • virtual type members declared in constructed generic types return their generic member definition
  • array, pointer, by-ref, and nullable types return their unwrapped element type
  • other member types return themselves

This method is typically used in combination with GetInheritedMember(this IMember) to navigate inheritance hierarchies while ensuring that the members being compared or documented are in their canonical forms.