    

 ## On this page

  

 

 # Class LinkAttribute

 Last update: 09.03.2026 

<a id="VM_Models_Pre_LinkAttribute"></a>

Namespace: [VM.Models.Pre](VM.Models.Pre.md)  
Assembly: VM.Models.Pre.Aspects.dll

```csharp
[Aspect(Scope.PerInstance)]
[AttributeUsage(AttributeTargets.Property, AllowMultiple = false, Inherited = true)]
[Injection(typeof(LinkAttribute))]
[Mixin(typeof(ILinkOwner))]
public class LinkAttribute : LinkBaseAttribute, ILinkOwner, ILinkAttribute

```

#### Inheritance

object ← Attribute ← [LinkBaseAttribute](VM.Models.Pre.LinkBaseAttribute.md) ← [LinkAttribute](VM.Models.Pre.LinkAttribute.md)

#### Implements

ILinkOwner, ILinkAttribute

#### Inherited Members

[LinkBaseAttribute.Dispose()](VM.Models.Pre.LinkBaseAttribute.md#VM_Models_Pre_LinkBaseAttribute_Dispose), [LinkBaseAttribute.Initialize(object)](VM.Models.Pre.LinkBaseAttribute.md#VM_Models_Pre_LinkBaseAttribute_Initialize_System_Object_), [LinkBaseAttribute.AddCache(string, IDisposable)](VM.Models.Pre.LinkBaseAttribute.md#VM_Models_Pre_LinkBaseAttribute_AddCache_System_String_System_IDisposable_), [LinkBaseAttribute.DisposeManagedResources()](VM.Models.Pre.LinkBaseAttribute.md#VM_Models_Pre_LinkBaseAttribute_DisposeManagedResources), [LinkBaseAttribute.InitializeProperty(object, IEnumerable&lt;PropertyInfo&gt;)](VM.Models.Pre.LinkBaseAttribute.md#VM_Models_Pre_LinkBaseAttribute_InitializeProperty_System_Object_System_Collections_Generic_IEnumerable_System_Reflection_PropertyInfo__), [LinkBaseAttribute.Unsubscribe(string)](VM.Models.Pre.LinkBaseAttribute.md#VM_Models_Pre_LinkBaseAttribute_Unsubscribe_System_String_), [LinkBaseAttribute.CacheItems](VM.Models.Pre.LinkBaseAttribute.md#VM_Models_Pre_LinkBaseAttribute_CacheItems), [LinkBaseAttribute.IsCacheEmpty](VM.Models.Pre.LinkBaseAttribute.md#VM_Models_Pre_LinkBaseAttribute_IsCacheEmpty)

#### Extension Methods

[LinkPropertyItemCache.GetLinkProperties(object, LinkPropertyType)](VM.Models.Pre.Cache.LinkPropertyItemCache.md#VM_Models_Pre_Cache_LinkPropertyItemCache_GetLinkProperties_System_Object_VM_Models_Pre_LinkPropertyType_), [LinkPropertyItemCache.GetLinkPropertiesAndValues(object, LinkPropertyType)](VM.Models.Pre.Cache.LinkPropertyItemCache.md#VM_Models_Pre_Cache_LinkPropertyItemCache_GetLinkPropertiesAndValues_System_Object_VM_Models_Pre_LinkPropertyType_), [LinkPropertyItemCache.GetLinkedObjects&lt;T&gt;(object, LinkPropertyType)](VM.Models.Pre.Cache.LinkPropertyItemCache.md#VM_Models_Pre_Cache_LinkPropertyItemCache_GetLinkedObjects__1_System_Object_VM_Models_Pre_LinkPropertyType_)

## Constructors

### <a id="VM_Models_Pre_LinkAttribute__ctor"></a> LinkAttribute()

```csharp
public LinkAttribute()

```

### <a id="VM_Models_Pre_LinkAttribute__ctor_System_Boolean_"></a> LinkAttribute(bool)

```csharp
public LinkAttribute(bool isChild = false)

```

#### Parameters

`isChild` bool

## Fields

### <a id="VM_Models_Pre_LinkAttribute___a__instance"></a> \_\_a$\_instance

```csharp
public static readonly LinkAttribute __a$_instance

```

#### Field Value

[LinkAttribute](VM.Models.Pre.LinkAttribute.md)

## Properties

### <a id="VM_Models_Pre_LinkAttribute_IsChild"></a> IsChild

Indicates this property is child or not.

```csharp
public bool? IsChild { get; }

```

#### Property Value

bool?

## Methods

### <a id="VM_Models_Pre_LinkAttribute_AfterSetter_System_Object_System_Type_System_String_System_Object___System_Attribute___"></a> AfterSetter(object, Type, string, object\[\], Attribute\[\])

```csharp
[Advice(Kind.After, Targets = Target.AnyAccess|Target.Setter)]
public virtual void AfterSetter(object owner, Type declaringType, string propertyName, object[] values, Attribute[] triggers)

```

#### Parameters

`owner` object

`declaringType` Type

`propertyName` string

`values` object\[\]

`triggers` Attribute\[\]

### <a id="VM_Models_Pre_LinkAttribute_BeforeSetter_System_Object_System_Type_System_String_System_Attribute___"></a> BeforeSetter(object, Type, string, Attribute\[\])

```csharp
[Advice(Kind.Before, Targets = Target.AnyAccess|Target.Setter)]
public virtual void BeforeSetter(object owner, Type declaringType, string propertyName, Attribute[] triggers)

```

#### Parameters

`owner` object

`declaringType` Type

`propertyName` string

`triggers` Attribute\[\]

### <a id="VM_Models_Pre_LinkAttribute_InitializeProperty_System_Object_System_Collections_Generic_IEnumerable_System_Reflection_PropertyInfo__"></a> InitializeProperty(object, IEnumerable&lt;PropertyInfo&gt;)

```csharp
protected override void InitializeProperty(object owner, IEnumerable<PropertyInfo> propertyInfos)

```

#### Parameters

`owner` object

`propertyInfos` IEnumerable&lt;PropertyInfo&gt;