Open sandboxFocus
  • TOC

Metalama Documentation

Getting started

Video tutorials

Conceptual documentation

Commented examples

API documentation

Aspect API

Metalama.​Framework.​Advising

Metalama.​Framework.​Aspects

Aspect2

Aspect­Order­Attribute2

Aspect­Order­Direction

Aspect­Predecessor

Aspect­Predecessor­Extensions

Aspect­Predecessor­Kind

Aspect­Receiver­Extensions

Compilation­Aspect3

Compiled­Template­Attribute2

Compile­Time­Attribute3

Constructor­Aspect3

Contract­Aspect3

Contract­Direction

Declarative­Advice­Attribute2

Editor­Experience­Attribute2

Editor­Experience­Options

Event­Aspect3

Exclude­Aspect­Attribute2

Field­Aspect3

Field­Or­Property­Aspect3

Forced­Generic­Run­Time­Or­Compile­Time­Attribute3

Framework­Diagnostic­Descriptors

IAspect

IAspect<T>

IAspect­Builder

IAspect­Builder<TAspect­Target>

IAspect­Class

IAspect­Instance

IAspect­Predecessor

IAspect­Receiver<TDeclaration>

IAspect­Receiver<TDeclaration, TTag>

IAspect­State

IConditionally­Inheritable­Aspect

IMeta­Target

Inheritable­Attribute2

Interface­Member­Attribute3

Interface­Member­Override­Strategy

Introduce­Attribute3

Introduction­Scope

Invalid­Advice­Parameters­Exception2

Invalid­Template­Signature­Exception2

IObject­Reader

ITemplate­Provider

Layers­Attribute2

meta

Method­Aspect3

Override­Event­Aspect4

Override­Field­Or­Property­Aspect4

Override­Method­Aspect4

Override­Strategy

Parameter­Aspect3

Property­Aspect3

Require­Aspect­Weaver­Attribute2

Run­Time­Attribute3

Run­Time­Or­Compile­Time­Attribute3

Scope­Attribute2

Template­Attribute2

Template­Invocation

Template­Provider

This­Attribute2

Type­Aspect3

Type­Parameter­Aspect3

Metalama.​Framework.​Code

Metalama.​Framework.​Code.​Collections

Metalama.​Framework.​Code.​Comparers

Metalama.​Framework.​Code.​Declaration­Builders

Metalama.​Framework.​Code.​Invokers

Metalama.​Framework.​Code.​Syntax­Builders

Metalama.​Framework.​Code.​Types

Metalama.​Framework.​Code­Fixes

Metalama.​Framework.​Diagnostics

Metalama.​Framework.​Eligibility

Metalama.​Framework.​Fabrics

Metalama.​Framework.​Metrics

Metalama.​Framework.​Options

Metalama.​Framework.​Project

Metalama.​Framework.​Run­Time

Metalama.​Framework.​Serialization

Metalama.​Framework.​Services

Metalama.​Framework.​Utilities

Metalama.​Framework.​Validation

Extensions API

Patterns API

Flashtrace API

Introspection API

Advanced API

Post­Sharp API migration

  • Article

Interface IAspectInstance

Represents an instance of an aspect. The instance of the IAspect itself is in the Aspect property.

Namespace: Metalama.Framework.Aspects
Assembly: Metalama.Framework.dll
Syntax
[CompileTime]
public interface IAspectInstance : IAspectPredecessor

Properties

Name Description
Aspect

Gets the aspect instance.

AspectClass

Gets the aspect type.

AspectState

Gets the optional opaque object defined by the aspect for the specific TargetDeclaration using the AspectState property of the IAspectBuilder interface.

IsInheritable

Gets a value indicating whether the current aspect instance can be inherited by derived declarations.

IsSkipped

Gets a value indicating whether the current aspect instance has been skipped. This value is true if the aspect evaluation resulted in an error or if the BuildAspect(IAspectBuilder<T>) method invoked SkipAspect(), if it has been excluded using ExcludeAspectAttribute, or when the target declaration was not eligible.

SecondaryInstances

Gets the other instances of the same AspectClass on the same TargetDeclaration. When several instances of the same AspectClass are found on the same TargetDeclaration, they are ordered by priority, and only the first one gets executed. The other instances are exposed on this property.

Extension Methods

  • Navigation