    

 ## On this page

  

 

 # Interface ILink

 Last update: 16.07.2025 

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

### FieldHasValue

Gets the status of field.

```csharp
bool FieldHasValue { get; }

```

#### Property Value

[bool](https://learn.microsoft.com/dotnet/api/system.boolean)

### LinkedObject

Gets the object container that has a relation with this.

```csharp
ILinkContainer LinkedObject { get; }

```

#### Property Value

ILinkContainer

### Owner

Gets the object that has this link.

```csharp
ILinkContainer Owner { get; }

```

#### Property Value

ILinkContainer

## Methods

### Clear(bool)

Clear the link relation.

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

```

#### Parameters

`bBackup` [bool](https://learn.microsoft.com/dotnet/api/system.boolean)

### ClearBeforeDeserialize()

Disconnect the link relation before deserialize.

```csharp
void ClearBeforeDeserialize()

```

### ClearBeforeSwap()

Disconnect the link relation before undo/redo.

```csharp
void ClearBeforeSwap()

```

### DestroyObject(object, LinkEventArgs)

Destroy this link

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

```

#### Parameters

`objNotifier` [object](https://learn.microsoft.com/dotnet/api/system.object)

The linked object.

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

The  instance containing the event data.

### DisposeLink()

Dispose this link.

```csharp
void DisposeLink()

```

### GetChilds(HashSet&lt;ILinkContainer&gt;)

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

```

#### Parameters

`lstObjs` [HashSet](https://learn.microsoft.com/dotnet/api/system.collections.generic.hashset-1)&lt;ILinkContainer&gt;

### GetFirstDesignEntities()

Get first design entities.

```csharp
IEnumerable<IObject> GetFirstDesignEntities()

```

#### Returns

[IEnumerable](https://learn.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1)&lt;IObject&gt;

### Reserve(LinkEventArgs)

Reserve link.

```csharp
bool Reserve(LinkEventArgs args)

```

#### Parameters

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

The event argument.

#### Returns

[bool](https://learn.microsoft.com/dotnet/api/system.boolean)

true if succeess to reserve, otherwise false.

### SetModified()

set modified link for undo/redo

```csharp
void SetModified()

```

### Verify(VerifiedResult)

Verify the link.

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

```

#### Parameters

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