Class LinkUpdateAttribute
Last update: 09.03.2026Namespace: VM.Models.Pre
Assembly: VM.Models.Pre.Aspects.dll
[Aspect(Scope.PerInstance)]
[AttributeUsage(AttributeTargets.Property, AllowMultiple = true, Inherited = true)]
[Injection(typeof(LinkUpdateAttribute))]
[Mixin(typeof(ILinkUpdateOwner))]
public class LinkUpdateAttribute : LinkBaseAttribute, ILinkUpdateOwner
Inheritance
object ← Attribute ← LinkBaseAttribute ← LinkUpdateAttribute
Derived
Implements
ILinkUpdateOwner
Inherited Members
LinkBaseAttribute.Dispose(), LinkBaseAttribute.Initialize(object), LinkBaseAttribute.AddCache(string, IDisposable), LinkBaseAttribute.DisposeManagedResources(), LinkBaseAttribute.InitializeProperty(object, IEnumerable<PropertyInfo>), LinkBaseAttribute.Unsubscribe(string), LinkBaseAttribute.CacheItems, LinkBaseAttribute.IsCacheEmpty
Extension Methods
LinkPropertyItemCache.GetLinkProperties(object, LinkPropertyType), LinkPropertyItemCache.GetLinkPropertiesAndValues(object, LinkPropertyType), LinkPropertyItemCache.GetLinkedObjects<T>(object, LinkPropertyType)
Constructors
LinkUpdateAttribute()
public LinkUpdateAttribute()
LinkUpdateAttribute(Type)
public LinkUpdateAttribute(Type behaviorType)
Parameters
behaviorType Type
LinkUpdateAttribute(LinkBehaviorType, params string[])
public LinkUpdateAttribute(LinkBehaviorType linkBehaviorType, params string[] behaviorNames)
Parameters
linkBehaviorType LinkBehaviorType
behaviorNames string[]
Fields
__a$_instance
public static readonly LinkUpdateAttribute __a$_instance
Field Value
Properties
AfterEventName
protected virtual string AfterEventName { get; }
Property Value
string
BeforeEventName
protected virtual string BeforeEventName { get; }
Property Value
string
TypeId
public override object TypeId { get; }
Property Value
object
Methods
AfterSetter(object, string, object[], Attribute[])
[Advice(Kind.After, Targets = Target.AnyAccess|Target.Setter)]
public virtual void AfterSetter(object owner, string propertyName, object[] values, Attribute[] triggers)
Parameters
owner object
propertyName string
values object[]
triggers Attribute[]
BeforeSetter(string)
[Advice(Kind.Before, Targets = Target.AnyAccess|Target.Setter)]
public virtual void BeforeSetter(string propertyName)
Parameters
propertyName string
GetAfterBehavior<TAttribute>(object, string, object, EventPattern<LinkEventArgs>, TAttribute, bool)
protected Action GetAfterBehavior<TAttribute>(object owner, string propertyName, object link, EventPattern<LinkEventArgs> eventPattern, TAttribute attribute, bool isSwap) where TAttribute : LinkUpdateAttribute
Parameters
owner object
propertyName string
link object
eventPattern EventPattern<LinkEventArgs>
attribute TAttribute
isSwap bool
Returns
Action
Type Parameters
TAttribute
GetAfterSubscriber<TAttribute>(object, string, object, TAttribute, bool)
protected IDisposable GetAfterSubscriber<TAttribute>(object owner, string propertyName, object link, TAttribute linkAttribute, bool isSwap) where TAttribute : LinkUpdateAttribute
Parameters
owner object
propertyName string
link object
linkAttribute TAttribute
isSwap bool
Returns
IDisposable
Type Parameters
TAttribute
GetBeforeBehavior<TAttribute>(object, string, object, EventPattern<LinkEventArgs>, TAttribute, bool)
protected Action GetBeforeBehavior<TAttribute>(object owner, string propertyName, object link, EventPattern<LinkEventArgs> eventPattern, TAttribute attribute, bool isSwap) where TAttribute : LinkUpdateAttribute
Parameters
owner object
propertyName string
link object
eventPattern EventPattern<LinkEventArgs>
attribute TAttribute
isSwap bool
Returns
Action
Type Parameters
TAttribute
GetBeforeSubscriber<TAttribute>(object, string, object, TAttribute, bool)
protected IDisposable GetBeforeSubscriber<TAttribute>(object owner, string propertyName, object link, TAttribute linkAttribute, bool isSwap) where TAttribute : LinkUpdateAttribute
Parameters
owner object
propertyName string
link object
linkAttribute TAttribute
isSwap bool
Returns
IDisposable
Type Parameters
TAttribute
GetBehavior<TAttribute>(object, object, string, object, TAttribute, bool)
protected static Action GetBehavior<TAttribute>(object caller, object owner, string propertyName, object link, TAttribute attribute, bool isSwap) where TAttribute : LinkUpdateAttribute
Parameters
caller object
owner object
propertyName string
link object
attribute TAttribute
isSwap bool
Returns
Action
Type Parameters
TAttribute
GetDefaultAfterBehavior(object, EventPattern<LinkEventArgs>)
protected virtual Action GetDefaultAfterBehavior(object source, EventPattern<LinkEventArgs> eventPattern)
Parameters
source object
eventPattern EventPattern<LinkEventArgs>
Returns
Action
GetDefaultBeforeBehavior(object, EventPattern<LinkEventArgs>)
protected virtual Action GetDefaultBeforeBehavior(object source, EventPattern<LinkEventArgs> eventPattern)
Parameters
source object
eventPattern EventPattern<LinkEventArgs>
Returns
Action
InitializeProperty(object, IEnumerable<PropertyInfo>)
protected override void InitializeProperty(object owner, IEnumerable<PropertyInfo> propertyInfos)
Parameters
owner object
propertyInfos IEnumerable<PropertyInfo>
InitializeProperty<TAttribute>(object, IEnumerable<PropertyInfo>, bool)
protected void InitializeProperty<TAttribute>(object owner, IEnumerable<PropertyInfo> propertyInfos, bool isSwap = false) where TAttribute : LinkUpdateAttribute
Parameters
owner object
propertyInfos IEnumerable<PropertyInfo>
isSwap bool
Type Parameters
TAttribute
Subscribe<TAttribute>(object, string, object, IEnumerable<Attribute>, bool)
protected void Subscribe<TAttribute>(object owner, string propertyName, object link, IEnumerable<Attribute> attributes, bool isSwap = false) where TAttribute : LinkUpdateAttribute
Parameters
owner object
propertyName string
link object
attributes IEnumerable<Attribute>
isSwap bool
Type Parameters
TAttribute