This is the online documentation for PostSharp 5.0.
Download PDF or CHM. Go to v4.3 or v5.0

IAggregatable Interface

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

Namespace:  PostSharp.Patterns.Model
Assembly:  PostSharp.Patterns.Aggregation (in PostSharp.Patterns.Aggregation.dll) Version: 5.0.33.0 (5.0.33.0)
Syntax
C#
public interface IAggregatable

The IAggregatable type exposes the following members.

Properties
  NameDescription
Public propertyParent
Gets the parent of the current object.
Public propertyParentRelationship
Describes the relationship between the current object and its parent. Valid values are Child or ParentSurrogate.
Top
Methods
  NameDescription
Public methodVisitChildren
Executes an action for all direct children of the current object.
Top
Events
  NameDescription
Public eventAncestorChanged
Occurs when any ancestor changes. An ancestor is the parent of the current object or the parent of an ancestor of the current object.
Public eventParentChanged
Occurs when the Parent property changes.
Top
Extension Methods
  NameDescription
Public Extension MethodGetChildren
Gets the list of children of a specified parent object.
(Defined by AggregatableExtensions.)
Public Extension MethodGetDistinctChildren
Gets a list of distinct children of a specified parent object.
(Defined by AggregatableExtensions.)
Public Extension MethodIsDescendantOf
Determines whether a specified object is a descendant of a specified ancestor.
(Defined by AggregatableExtensions.)
Public Extension MethodVisitSelfAndDescendants
Executes a ChildVisitor for the a specified parent object and all its descendants.
(Defined by AggregatableExtensions.)
Top
Remarks

If a class implements this interface, it must also implement IAttachable. These two interfaces have been separated for clarity, since IAttachable should normally not be consumed from user code.

See Also