PostSharp//API Reference/Post­Sharp.​Patterns.​Contracts/Location­Contract­Attribute
Open sandboxFocus

Class LocationContractAttribute

Base class for other custom attributes in this namespace.

Namespace: PostSharp.Patterns.Contracts
Assembly: PostSharp.Patterns.Common.dll
Syntax
[AspectConfiguration(SerializerType = null)]
[MulticastAttributeUsage]
[ProvideAspectRole("Validation")]
public abstract class LocationContractAttribute : MulticastAttribute, ILocationLevelAspect, IAspect

Constructors

Name Description
LocationContractAttribute()

Initializes a new LocationContractAttribute.

Properties

Name Description
ErrorMessage

Gets or sets the error message formatting string.

Methods

Name Description
CompileTimeValidate(LocationInfo)

Validates that the current aspect has been applied to a valid location.

CreateArgumentException(Object, String, LocationKind)

Creates an ArgumentException with an error message formatted from ErrorMessage and given concrete values.

CreateArgumentNullException(Object, String, LocationKind)

Creates an ArgumentNullException with an error message formatted from ErrorMessage and given concrete values.

CreateArgumentOutOfRangeException(Object, String, LocationKind)

Creates an ArgumentOutOfRangeException with an error message formatted from ErrorMessage and given concrete values.

CreatePostconditionFailedException(Object, String, LocationKind)

Creates an PostconditionFailedException with an error message formatted from ErrorMessage and given concrete values.

FormatErrorMessage(Object, String, LocationKind)

Formats the ErrorMessage with concrete values.

GetErrorMessage()

Gets unformatted error message as defined by the instance.

GetErrorMessageArguments()

Gets values of additional arguments for error message associated with particular instance of LocationContractAttribute. There arguments can be referenced from error message string by {4}, {5} and so on.

RuntimeInitialize(LocationInfo)

Initializes the aspect at runtime.

SelectSelfOrNothing(LocationInfo)

A pointcut that selects the target location of the current aspect, unless the target location is a dependency property or an attached property.

ValidateValueDynamic(Object, String, LocationKind, LocationValidationContext)

Validates a weakly-typed (boxed) value, typically the value of a dependency property or an attached property.