PostSharp//API Reference/Post­Sharp.​Patterns.​Model/Aggregatable­Attribute
Open sandboxFocus

Class AggregatableAttribute

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

Namespace: PostSharp.Patterns.Model
Assembly: PostSharp.Patterns.Aggregation.dll
Syntax
[IntroduceInterface]
[MulticastAttributeUsage]
[AspectTypeDependency]
[AspectRoleDependency]
[AspectRoleDependency]
[HasConstraint]
[Serializer]
public sealed class AggregatableAttribute : InstanceLevelAspect, ITypeLevelAspect, ITypeLevelAspectBuildSemantics, IAspectBuildSemantics, IValidableAnnotation, ICloneAwareAspect, IInstanceScopedAspect, IAttachable, IAggregatable, IAdviceProvider, IAspectProvider, IAspect, IService

Constructors

Name Description
AggregatableAttribute()

Initializes a new instance of the AggregatableAttribute class.

AggregatableAttribute(PortableFormatterConstructorContext)

Fields

Name Description
__GetCanonicalAggregatableAttributeMethod
ChildrenBindings
OnAncestorChangedMethod
OnChildAttachedMethod
OnChildDetachedMethod
OnDeserializationBaseMethod
OnDeserializationMethod
OnParentChangedBaseMethod
OnParentChangedMethod
ParentBindings
VisitChildrenBaseMethod
VisitChildrenVirtualMethod

Properties

Name Description
ChildrenFields

Gets (at build time) the list of children fields together with their ChildInfo.

DefaultItemRelationship

Gets or sets the default kind of relationship for collection items.

DefaultMemberRelationship

Gets or sets the default kind of relationship of fields and automatic properties.

IsParentSurrogate

Determines whether instances of the target class of this custom attribute are parent surrogates.

IsParentSurrogateSpecified

Determines whether the IsParentSurrogate property has been set.

Methods

Name Description
__GetCanonicalAggregatableAttribute()
CompileTimeValidate(Type)
OnAncestorChanged(AncestorChangedEventArgs)
OnAspectsInitialized(AspectInitializationReason)
OnChildAttached(Object, ChildInfo)
OnChildDetached(Object, ChildInfo)
OnDeserialization(Object)
OnDeserialized(StreamingContext)
OnInstanceConstructed()
OnParentChanged()
OnSetValue<T>(ILocationBinding<T>, T, DeclarationIdentifier)
RuntimeInitialize(Type)
RuntimeInitializeInstance(AspectInitializationReason)
VisitChildren(ChildVisitor, ChildVisitorOptions, Object)
VisitChildrenCore(ChildVisitor, ChildVisitorOptions, Object)

Explicit Interface Implementations

Name Description
IAdviceProvider.ProvideAdvices(Object)
IAspectProvider.ProvideAspects(Object)
IAggregatable.AncestorChanged
IAggregatable.Parent
IAggregatable.ParentChanged
IAggregatable.ParentRelationship
IAggregatable.VisitChildren(ChildVisitor, ChildVisitorOptions, Object)
IAttachable.AttachToParent(RelationshipInfo, IAttacher, Object)
IAttachable.DetachFromParent()
IAttachable.OnDeserialization(Object)