PostSharpAPI ReferencePost­Sharp.​Patterns.​Model
Open sandboxFocus

PostSharp.Patterns.Model Namespace

Classes

AggregatableAttribute

Custom attribute that, when applied to class, enables instances of this class to be involved in a parent-child relationship.

AggregatableAttribute.Serializer

AggregatableAttributeTargetClass

AggregatableClientAttribute

Base class for aspects that consume functionalities from the AggregatableAttribute aspect. This class provides functionalities to advise and unadvise children.

AggregatableClientAttribute.AspectInitializationStatus

Possible values for the InitializationStatus property.

AggregatableClientAttribute.Serializer

AggregatableExtensions

Provides extension methods to the IAggregatable interface.

AggregatableServices

Provide static methods to aid with implementation of the IAggregatable interface.

AggregateAllChangesAttribute

Custom attribute that, when applied to a property of a class enhanced with the NotifyPropertyChangedAttribute, specifies that a change of any property of the property value will be considered as a change of the property itself.

AncestorChangedEventArgs

Arguments of the AncestorChanged event.

ChildAttribute

Custom attribute that, when applied to a field or automatic property, specifies that the object assigned to this field or property is a child of the instance of the declaring type.

ChildInfo

Describes a location (typically a field or collection item) on which a child can be attached to a parent.

ChildInfo.Serializer

ChildPropertyChangedEventArgs

ChildVisitor

Encapsulates a method that is invoked by the VisitChildren(ChildVisitor, ChildVisitorOptions, Object) method.

ChildVisitorOptions

Options for the VisitChildren(ChildVisitor, ChildVisitorOptions, Object) and VisitSelfAndDescendants(IAggregatable, DescendantVisitor, ChildVisitorOptions, Object) methods.

Depends

Provides a way to specify dependencies of a method to properties or chains of properties. This class should be used from methods marked with the SafeForDependencyAnalysisAttribute custom attribute.

DescendantVisitor

Encapsulates a method that is invoked by the VisitSelfAndDescendants(IAggregatable, DescendantVisitor, ChildVisitorOptions, Object) method.

DescendantVisitorStatus

Type of the return value of ChildVisitor. Determines how the visitor should continue enumerating other objects.

DisposableAttribute

Custom attribute that, when applied to a class, implements the System.IDisposable in such a way that the Dispose() method executes the Dispose() method for all children objects that also implement the System.IDisposable interface.

DisposableAttribute.Serializer

IgnoreAutoChangeNotificationAttribute

Custom attribute that, when applied to a property, prevents the NotifyPropertyChangedAttribute aspect to raise change notifications for this property.

MemberRelationshipAttribute

Base class for custom attributes that determine the kind of relationship of objects in a graph.

NotifyPropertyChangedAttribute

Custom attribute that, when applied on a type, implements the System.ComponentModel.INotifyPropertyChanged interface for this class and all children classes.

NotifyPropertyChangedAttribute.Serializer

NotifyPropertyChangedOverflowException

Exception thrown at runtime when the NotifyPropertyChangedAttribute aspect encounters an excessively long chain is dependency. This situation is typically caused by a cyclic dependency.

NotifyPropertyChangedServices

Utility methods to work with the NotifyPropertyChangedAttribute aspect.

NotifyPropertyChangingAdapter

Provides a unified adapter to the different variants of the INotifyPropertyChanging interface.

ObjectAccessLevel

Enumeration of access levels that methods of execution scopes can require on an object.

ParentAttribute

Custom attribute that, when applied to a field or automatic property, specifies that this field or property should be automatically set to the parent of the instance of the declaring type, whenever this instance is attached as a child to another object.

PropertyPath

Immutable property path with all components interned.

PropertyPath.Serializer

PureAttribute

Custom attribute that, when applied on a method, specifies that this method is a pure function, i.e. the method always returns the same result given the same parameter values. In the context of NotifyPropertyChangedAttribute, it is also assumed that pure functions have only parameters of primitive types (System.Int32, String, ...). The Object parameter type is also accepted, but then it is assumed that instances passed are immutable (and changes to these objects will not be tracked).

ReferenceAttribute

Custom attribute that, when applied to a field or automatic property, specifies that this field or property is a simple reference, and is not involved in a parent-child relationship.

RelationshipInfo

Describes the relationship between a parent and a child.

RelationshipInfo.Serializer

RelationshipKind

Enumeration of the kinds of relationship between objects in a object graph.

SafeForDependencyAnalysisAttribute

Custom attribute that, when applied on a property, prevents the dependency analysis algorithm used by the NotifyPropertyChangedAttribute aspect from emitting errors when it encounters constructs that it cannot analyze.

WeakEventAttribute

Aspect that, when applied to an event, prevents the target event from holding a strong reference to event handlers. Therefore, the aspect prevents the event to prevent clients to be garbage collected.

WeakEventAttribute.Serializer

WeakEventStrategy

Defines behavior of a weak event.

Interfaces

IAggregatable

Defines members (principally Parent and VisitChildren(ChildVisitor, ChildVisitorOptions, Object)) that allow to consume parent-child relationships in an object tree.

IAggregatableCollection

Defines the non-generic semantics of an AggregatableCollection.

IAggregatableDependentAdvice<T>

Defines the semantics of advices that depend on the aggregatable dynamic advices, i.e. they must be able to react to attachment and detachment events.

IAttachable

Defines setter methods for the IAggregatable.

IAttacher

Describes the semantics of a service through which a child IAggregatable object can attach itself to a parent object. This interface is typically implemented by the parent object by composition.

INotifyChildPropertyChanged