Class LinkUpdateAttribute
Last update: 16.07.2025Namespace: 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
Extension Methods
LinkPropertyItemCache.GetLinkProperties(object, LinkPropertyType),
LinkPropertyItemCache.GetLinkPropertiesAndValues(object, LinkPropertyType),
LinkPropertyItemCache.GetLinkedObjects
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
BeforeEventName
protected virtual string BeforeEventName { get; }
Property Value
TypeId
public override object TypeId { get; }
Property Value
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(object, string, object, EventPattern, 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
attribute TAttribute
isSwap bool
Returns
Type Parameters
TAttribute
GetAfterSubscriber(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
Type Parameters
TAttribute
GetBeforeBehavior(object, string, object, EventPattern, 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
attribute TAttribute
isSwap bool
Returns
Type Parameters
TAttribute
GetBeforeSubscriber(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
Type Parameters
TAttribute
GetBehavior(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
Type Parameters
TAttribute
GetDefaultAfterBehavior(object, EventPattern)
protected virtual Action GetDefaultAfterBehavior(object source, EventPattern<linkeventargs> eventPattern)
Parameters
source object
eventPattern EventPattern
Returns
GetDefaultBeforeBehavior(object, EventPattern)
protected virtual Action GetDefaultBeforeBehavior(object source, EventPattern<linkeventargs> eventPattern)
Parameters
source object
eventPattern EventPattern
Returns
InitializeProperty(object, IEnumerable)
protected override void InitializeProperty(object owner, IEnumerable<propertyinfo> propertyInfos)
Parameters
owner object
propertyInfos IEnumerablePropertyInfo>
InitializeProperty(object, IEnumerable, bool)
protected void InitializeProperty<tattribute>(object owner, IEnumerable<propertyinfo> propertyInfos, bool isSwap = false) where TAttribute : LinkUpdateAttribute
Parameters
owner object
propertyInfos IEnumerablePropertyInfo>
isSwap bool
Type Parameters
TAttribute
Subscribe(object, string, object, IEnumerable, 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 IEnumerableAttribute>
isSwap bool
Type Parameters
TAttribute