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

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.dll
Syntax
public interface IAggregatable
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.

Properties

Name Description
Parent

Gets the parent of the current object.

ParentRelationship

Describes the relationship between the current object and its parent. Valid values are Child or ParentSurrogate.

Methods

Name Description
VisitChildren(ChildVisitor, ChildVisitorOptions, Object)

Executes an action for all direct children of the current object.

Events

Name Description
AncestorChanged

Occurs when any ancestor changes. An ancestor is the parent of the current object or the parent of an ancestor of the current object.

ParentChanged

Occurs when the Parent property changes.

Extension Methods

AggregatableExtensions.IsDescendantOf(IAggregatable, Object)
AggregatableExtensions.GetChildren(IAggregatable, ChildVisitorOptions)
AggregatableExtensions.GetDistinctChildren(IAggregatable, ChildVisitorOptions)
AggregatableExtensions.VisitSelfAndDescendants(IAggregatable, DescendantVisitor, ChildVisitorOptions, Object)