Base class for other custom attributes in this namespace.
Inheritance
Namespace: PostSharp.Patterns.Contracts
Assembly: PostSharp.Patterns.Common.dll
Syntax
[AspectConfiguration(SerializerType = typeof(MsilAspectSerializer))]
[MulticastAttributeUsage(MulticastTargets.Field|MulticastTargets.Property|MulticastTargets.Parameter|MulticastTargets.ReturnValue, TargetMemberAttributes = MulticastAttributes.NonAbstract|MulticastAttributes.NonLiteral, Inheritance = MulticastInheritance.Multicast, AllowMultiple = false, PersistMetaData = true)]
[AttributeUsage(AttributeTargets.Property|AttributeTargets.Field|AttributeTargets.Parameter|AttributeTargets.ReturnValue)]
[ProvideAspectRole("Validation")]
public abstract class LocationContractAttribute : MulticastAttribute, ILocationLevelAspect, IAspect
Remarks
Basic error message is identified by LocationContractErrorMessage and obtained from the provider set in LocalizedTextProvider.
All formatting strings have the following parameters replaced:
-
{0}
is replaced by the location name. -
{1}
is replaced by the location kind. -
{2}
is replaced by a string containing both location kind and name. -
{3}
is replaced by the value which caused the error when being assigned to the location. - Further parameters are described in the remarks sections of contracts which override the GetErrorMessageArguments() method.
Note that an array of error message arguments is cached for each location.
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 |
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. |