    

 ## On this page

  

 

 # Interface ILink

 Last update: 09.03.2026 

<a id="VM_Managed_ILink"></a>

Namespace: [VM.Managed](VM.Managed.md)  
Assembly: VMAppCore.dll

This interface is to represent the linked object.

```csharp
public interface ILink

```

#### 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_)

## Properties

### <a id="VM_Managed_ILink_FieldHasValue"></a> FieldHasValue

Gets the status of field.

```csharp
bool FieldHasValue { get; }

```

#### Property Value

bool

### <a id="VM_Managed_ILink_LinkedObject"></a> LinkedObject

Gets the object container that has a relation with this.

```csharp
ILinkContainer LinkedObject { get; }

```

#### Property Value

ILinkContainer

### <a id="VM_Managed_ILink_Owner"></a> Owner

Gets the object that has this link.

```csharp
ILinkContainer Owner { get; }

```

#### Property Value

ILinkContainer

## Methods

### <a id="VM_Managed_ILink_Clear_System_Boolean_"></a> Clear(bool)

Clear the link relation.

The backup flag. ```csharp
void Clear(bool bBackup)

```

#### Parameters

`bBackup` bool

### <a id="VM_Managed_ILink_ClearBeforeDeserialize"></a> ClearBeforeDeserialize()

Disconnect the link relation before deserialize.

```csharp
void ClearBeforeDeserialize()

```

### <a id="VM_Managed_ILink_ClearBeforeSwap"></a> ClearBeforeSwap()

Disconnect the link relation before undo/redo.

```csharp
void ClearBeforeSwap()

```

### <a id="VM_Managed_ILink_DestroyObject_System_Object_VM_Managed_LinkEventArgs_"></a> DestroyObject(object, LinkEventArgs)

Destroy this link

```csharp
void DestroyObject(object objNotifier, LinkEventArgs arg)

```

#### Parameters

`objNotifier` object

The linked object.

`arg` [LinkEventArgs](VM.Managed.LinkEventArgs.md)

The  instance containing the event data.

### <a id="VM_Managed_ILink_DisposeLink"></a> DisposeLink()

Dispose this link.

```csharp
void DisposeLink()

```

### <a id="VM_Managed_ILink_GetChilds_System_Collections_Generic_HashSet_VM_Models_Pre_ILinkContainer__"></a> GetChilds(HashSet&lt;ILinkContainer&gt;)

```csharp
void GetChilds(HashSet<ILinkContainer> lstObjs)

```

#### Parameters

`lstObjs` HashSet&lt;ILinkContainer&gt;

### <a id="VM_Managed_ILink_GetFirstDesignEntities"></a> GetFirstDesignEntities()

Get first design entities.

```csharp
IEnumerable<IObject> GetFirstDesignEntities()

```

#### Returns

IEnumerable&lt;IObject&gt;

### <a id="VM_Managed_ILink_Reserve_VM_Managed_LinkEventArgs_"></a> Reserve(LinkEventArgs)

Reserve link.

```csharp
bool Reserve(LinkEventArgs args)

```

#### Parameters

`args` [LinkEventArgs](VM.Managed.LinkEventArgs.md)

The event argument.

#### Returns

bool

true if succeess to reserve, otherwise false.

### <a id="VM_Managed_ILink_SetModified"></a> SetModified()

set modified link for undo/redo

```csharp
void SetModified()

```

### <a id="VM_Managed_ILink_Verify_VM_Managed_VerifiedResult_"></a> Verify(VerifiedResult)

Verify the link.

The verified result. ```csharp
void Verify(VerifiedResult vr)

```

#### Parameters

`vr` [VerifiedResult](VM.Managed.VerifiedResult.md)