PostSharp.Patterns.Model Namespace |

Class | Description | |
---|---|---|
![]() | AggregatableAttribute |
Custom attribute that, when applied to class, enables instances of this class to be involved in a parent-child relationship.
|
![]() | AggregatableAttributeTargetClass |
Describes the members that are introduced or overridden by the AggregatableAttribute aspect.
You can define one or many of these members in classes that are the target of AggregatableAttribute to reacts to events
of the Aggregatable pattern.
|
![]() | AggregatableClientAttribute |
Base class for aspects that consume functionalities from the AggregatableAttribute aspect.
This class provides functionalities to advise and unadvise children.
|
![]() | 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.
|
![]() | 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.
|
![]() | DisposableAttribute |
Custom attribute that, when applied to a class, implements the IDisposable in such a way that
the Dispose() method executes the Dispose() method for all
children objects that also implement the IDisposable interface.
|
![]() | DynamicallyAdvisableObject |
Base class for objects into which advices can be dynamically injected. This class is not meant to be used in user code.
|
![]() | IgnoreAutoChangeNotificationAttribute |
Custom attribute that, when applied to a method, 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 INotifyPropertyChanged interface for this class and all children classes.
|
![]() | 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.
|
![]() | 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.
|
![]() | 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 (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).
|
![]() | QueryInterfaceExtensions |
Provides methods to aid with the use of dynamic interfaces.
|
![]() | 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.
|
![]() | 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.
|

Structure | Description | |
---|---|---|
![]() | RelationshipInfo |
Describes the relationship between a parent and a child.
|

Interface | Description | |
---|---|---|
![]() | IAggregatable |
Defines members (principally Parent and VisitChildren(ChildVisitor, ChildVisitorOptions, Object)) that allow to consume parent-child relationships in an object tree.
|
![]() | 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.
|
![]() | IDynamicInterfaceImplementation |
Interface that must be implemented by objects implementing dynamic interfaces, which can be queried using QueryInterface<T>().
The IDynamicInterfaceImplementation interface provides a mean to get a reference back to the principal object.
|
![]() | IInvocable<TResult> |
Exposes an Invoke() method.
|
![]() | IQueryInterface |
Interface implemented by objects that can implement interface dynamically by composition, without
implementing the interface directly at MSIL level. The QueryInterface<T>() method
must then be used instead of a normal cast.
|

Delegate | Description | |
---|---|---|
![]() | ChildVisitor |
Encapsulates a method that is invoked by the VisitChildren(ChildVisitor, ChildVisitorOptions, Object) method.
|
![]() | DescendantVisitor |
Encapsulates a method that is invoked by the VisitSelfAndDescendants(IAggregatable, DescendantVisitor, ChildVisitorOptions, Object) method.
|

Enumeration | Description | |
---|---|---|
![]() | AggregatableClientAttribute.AspectInitializationStatus |
Possible values for the InitializationStatus property.
|
![]() | ChildVisitorOptions | |
![]() | DescendantVisitorStatus |
Type of the return value of ChildVisitor. Determines how the visitor should continue enumerating other objects.
|
![]() | ObjectAccessLevel |
Enumeration of access levels that methods of execution scopes can require on an object.
|
![]() | RelationshipKind |
Enumeration of the kinds of relationship between objects in a object graph.
|
![]() | WeakEventStrategy |
Defines behavior of a weak event.
|