Open sandboxFocus
  • TOC

Metalama Documentation

Getting started

Conceptual documentation

Commented examples

API documentation

Aspect API

Extensions API

Patterns API

Metalama.​Patterns.​Caching

Metalama.​Patterns.​Caching.​Aspects

Metalama.​Patterns.​Caching.​Aspects.​Configuration

Metalama.​Patterns.​Caching.​Aspects.​Helpers

Metalama.​Patterns.​Caching.​Backends

Metalama.​Patterns.​Caching.​Backends.​Azure

Metalama.​Patterns.​Caching.​Backends.​Redis

Metalama.​Patterns.​Caching.​Building

Metalama.​Patterns.​Caching.​Dependencies

Metalama.​Patterns.​Caching.​Formatters

Metalama.​Patterns.​Caching.​Implementation

Metalama.​Patterns.​Caching.​Locking

Metalama.​Patterns.​Caching.​Serializers

Metalama.​Patterns.​Caching.​Value­Adapters

Metalama.​Patterns.​Contracts

Metalama.​Patterns.​Contracts.​Numeric

Metalama.​Patterns.​Immutability

Metalama.​Patterns.​Immutability.​Configuration

Metalama.​Patterns.​Memoization

Metalama.​Patterns.​Observability

Metalama.​Patterns.​Observability.​Configuration

Metalama.​Patterns.​Observability.​Implementation

Metalama.​Patterns.​Wpf

Metalama.​Patterns.​Wpf.​Configuration

Flashtrace API

Introspection API

Advanced API

Post­Sharp API migration

  • Article

Class ContractBaseAttribute

A base class for all contracts defined in this library.

Namespace: Metalama.Patterns.Contracts
Assembly: Metalama.Patterns.Contracts.dll
Syntax
public abstract class ContractBaseAttribute : ContractAspect, IAspect<IParameter>, IEligible<IParameter>, IAspect<IFieldOrPropertyOrIndexer>, IEligible<IFieldOrPropertyOrIndexer>, IConditionallyInheritableAspect, IAspect, ICompileTimeSerializable, ITemplateProvider

Constructors

Name Description
ContractBaseAttribute()

Properties

Name Description
Direction

Gets or sets the direction of the contract. When this property is not set, its default value is read from ContractOptions. When no value is defined in ContractOptions, the default value of this property is Default.

IsInheritable

Gets or sets a value indicating whether this contract should be inherited to derived types or overriding members. When this property is not set, its default value is read from ContractOptions. When no value is defined in ContractOptions, the default value of this property is true.

Methods

Name Description
GetActualDirection(IAspectBuilder, ContractDirection)

Gets the actual direction of the contract given the direction returned by GetDefinedDirection(IAspectBuilder), after resolving the Default value according to the characteristics of the target declaration, and after taking predecessors and secondary instances into account. The implementation of this method may return None to skip the aspect.

GetDefinedDirection(IAspectBuilder)

Gets or sets the direction of the data flow (Input, Output or Both) to which this contract applies, as defined by the current aspect. This method returns Default by default. When this method returns Default, the actual direction is determined according to the characteristics of the target declaration.

Extension Methods