LocationContractAttribute Class |
Base class for other custom attributes in this namespace.

System.Object
System.Attribute
PostSharp.Extensibility.MulticastAttribute
PostSharp.Patterns.Contracts.LocationContractAttribute
More...
System.Attribute
PostSharp.Extensibility.MulticastAttribute
PostSharp.Patterns.Contracts.LocationContractAttribute
More...
Namespace: PostSharp.Patterns.Contracts
Assembly: PostSharp.Patterns.Common (in PostSharp.Patterns.Common.dll) Version: 5.0.55.0 (5.0.55.0)

C#
public abstract class LocationContractAttribute : MulticastAttribute, ILocationLevelAspect, IAspect
The LocationContractAttribute type exposes the following members.

Name | Description | |
---|---|---|
![]() | LocationContractAttribute |
Initializes a new LocationContractAttribute.
|

Name | Description | |
---|---|---|
![]() | AttributeExclude |
If true, indicates that this attribute removes all other instances of the
same attribute type from the set of elements defined by the current instance.
(Inherited from MulticastAttribute.) |
![]() | AttributeInheritance |
Determines whether this attribute is inherited
(Inherited from MulticastAttribute.) |
![]() | AttributePriority |
Gets or sets the priority of the current attribute in case that multiple
instances are defined on the same element (lower values are processed before).
(Inherited from MulticastAttribute.) |
![]() | AttributeReplace |
Determines whether this attribute replaces other attributes found on the
target declarations.
(Inherited from MulticastAttribute.) |
![]() | AttributeTargetAssemblies |
Gets or sets the assemblies to which the current attribute apply.
(Inherited from MulticastAttribute.) |
![]() | AttributeTargetElements |
Gets or sets the kind of elements to which this custom attributes applies.
(Inherited from MulticastAttribute.) |
![]() | AttributeTargetExternalMemberAttributes |
Gets or sets the visibilities, scopes, virtualities, and implementation
of members to which this attribute applies, when the member is external to the current module.
(Inherited from MulticastAttribute.) |
![]() | AttributeTargetExternalTypeAttributes |
Gets or sets the visibilities of types to which this attribute applies,
when this type is external to the current module.
(Inherited from MulticastAttribute.) |
![]() | AttributeTargetMemberAttributes |
Gets or sets the visibilities, scopes, virtualities, and implementation
of members to which this attribute applies.
(Inherited from MulticastAttribute.) |
![]() | AttributeTargetMembers |
Gets or sets the expression specifying to which members
this instance applies.
(Inherited from MulticastAttribute.) |
![]() | AttributeTargetParameterAttributes |
Gets or sets the passing style (by value, out or ref)
of parameters to which this attribute applies.
(Inherited from MulticastAttribute.) |
![]() | AttributeTargetParameters |
Gets or sets the expression specifying to which parameters
this instance applies.
(Inherited from MulticastAttribute.) |
![]() | AttributeTargetTypeAttributes |
Gets or sets the visibilities of types to which this attribute applies.
(Inherited from MulticastAttribute.) |
![]() | AttributeTargetTypes |
Gets or sets the expression specifying to which types
this instance applies.
(Inherited from MulticastAttribute.) |
![]() | ErrorMessage |
Gets or sets the error message formatting string.
|

Name | Description | |
---|---|---|
![]() | CompileTimeValidate | |
![]() | CreateArgumentException |
Creates an ArgumentException with an error message formatted from ErrorMessage and
given concrete values.
|
![]() | CreateArgumentNullException |
Creates an ArgumentNullException with an error message formatted from ErrorMessage and
given concrete values.
|
![]() | CreateArgumentOutOfRangeException |
Creates an ArgumentOutOfRangeException with an error message formatted from ErrorMessage and
given concrete values.
|
![]() | CreatePostconditionFailedException |
Creates an PostconditionFailedException with an error message formatted from ErrorMessage and
given concrete values.
|
![]() | FormatErrorMessage |
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 | |
![]() | SelectSelfOrNothing | |
![]() | ValidateValueDynamic |

Name | Description | |
---|---|---|
![]() | QueryInterface<T> |
Gets the implementation of a specified interface for the specified object.
(Defined by QueryInterfaceExtensions.) |

Basic error message is identified by LocationContractErrorMessage and obtained from the provider set in Current.
All formatting string are have following parameters replaced:
Field Value
Type:
{0} represents location name.Field Value
Type:
{1} represents location kind.Field Value
Type:
{2} represents string containing both location kind and name.Field Value
Type:
{3} represents value which caused the error when being assigned to the location.- Further parameters are described in remarks sections of appropriate contracts which override the GetErrorMessageArguments() method.
Note that an array of error message arguments are cached for each location.

Reference
Other Resources

System.Object
System.Attribute
PostSharp.Extensibility.MulticastAttribute
PostSharp.Patterns.Contracts.LocationContractAttribute
PostSharp.Patterns.Contracts.CreditCardAttribute
PostSharp.Patterns.Contracts.EnumDataTypeAttribute
PostSharp.Patterns.Contracts.NotEmptyAttribute
PostSharp.Patterns.Contracts.NotNullAttribute
PostSharp.Patterns.Contracts.RangeAttribute
PostSharp.Patterns.Contracts.RegularExpressionAttribute
PostSharp.Patterns.Contracts.RequiredAttribute
PostSharp.Patterns.Contracts.StringLengthAttribute
System.Attribute
PostSharp.Extensibility.MulticastAttribute
PostSharp.Patterns.Contracts.LocationContractAttribute
PostSharp.Patterns.Contracts.CreditCardAttribute
PostSharp.Patterns.Contracts.EnumDataTypeAttribute
PostSharp.Patterns.Contracts.NotEmptyAttribute
PostSharp.Patterns.Contracts.NotNullAttribute
PostSharp.Patterns.Contracts.RangeAttribute
PostSharp.Patterns.Contracts.RegularExpressionAttribute
PostSharp.Patterns.Contracts.RequiredAttribute
PostSharp.Patterns.Contracts.StringLengthAttribute