Metalama (preview)API documentationAspect APIMetalama.​Framework.​CodeIMember
Open sandboxFocus

IMember Interface

Base interface for IMethod, IFieldOrProperty, IEvent, but not INamedType.

Namespace: Metalama.Framework.Code
Assembly: Metalama.Framework.dll
Syntax
public interface IMember : IMemberOrNamedType, INamedDeclaration, IDeclaration, IDisplayable, IDiagnosticLocation, ICompilationElement, IMeasurable, IEquatable<IDeclaration>

Properties

Name Description
DeclaringType

Gets the type containing the current member.

Definition

Gets the definition of the member. If the current declaration is a generic method instance or a member of a generic type instance, this returns the generic definition. Otherwise, it returns the current instance.

HasImplementation

Gets a value indicating whether the member has an implementation or is only a definition without a body.

IsAsync

Gets a value indicating whether the member is async.

IsExplicitInterfaceImplementation

Gets a value indicating whether the member is an explicit implementation of an interface member.

IsOverride

Gets a value indicating whether the member is override.

IsVirtual

Gets a value indicating whether the member is virtual.

Methods

Name Description
ToRef()

Extension Methods

DeclarationExtensions.ContainedChildren(IDeclaration)
DeclarationExtensions.ContainedDescendants(IDeclaration)
DeclarationExtensions.ContainedDescendantsAndSelf(IDeclaration)
DeclarationExtensions.ContainingAncestors(IDeclaration)
DeclarationExtensions.ContainingAncestorsAndSelf(IDeclaration)
DeclarationExtensions.GetClosestMemberOrNamedType(IDeclaration)
DeclarationExtensions.GetClosestNamedType(IDeclaration)
DeclarationExtensions.GetNamespace(IDeclaration)
DeclarationExtensions.GetTopmostNamedType(IDeclaration)
DeclarationExtensions.IsContainedIn(IDeclaration, IDeclaration)
GenericExtensions.GetOriginalDefinition(IDeclaration)
EligibilityExtensions.IsAdviceEligible(IDeclaration, AdviceKind)
EligibilityExtensions.IsAspectEligible(IDeclaration, Type, EligibleScenarios)
EligibilityExtensions.IsAspectEligible<T>(IDeclaration, EligibleScenarios)
EligibilityExtensions.IsContractAdviceEligible(IDeclaration, ContractDirection)
DeclarationExtensions.Enhancements<T>(T)
DeclarationExtensions.ForCompilation<T>(T?, ICompilation, ReferenceResolutionOptions)
DeclarationExtensions.TryForCompilation<T>(T?, ICompilation, out T?, ReferenceResolutionOptions)
GenericExtensions.GetOriginalDefinition(IMember)
MemberExtensions.IsOverridable(IMember)
MetricsExtensions.Metrics<TExtensible>(TExtensible)
GenericExtensions.GetBase(IMemberOrNamedType)
GenericExtensions.GetOriginalDefinition(IMemberOrNamedType)
GenericExtensions.IsSelfOrDeclaringTypeGeneric(IMemberOrNamedType)