    

 ## On this page

  

 

 #  Interface ILinkContainer

 Last update: 16.07.2025 

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

This interface is to represent the object container that has a relation with other object.

```csharp
public interface ILinkContainer : IOwned, IHasID

```

#### Implements

[IOwned](VM.Models.Pre.IOwned.md), IHasID

#### 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(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_Models_Pre_ILinkContainer_ClearChildInfoBeforeDeserialize"></a> ClearChildInfoBeforeDeserialize

Gets a value indicating whether \[clear child info before deserialize\].

```csharp
bool ClearChildInfoBeforeDeserialize { get; }

```

#### Property Value

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

## Methods

### <a id="VM_Models_Pre_ILinkContainer_ClearLinkBeforeDeserialize"></a> ClearLinkBeforeDeserialize()

Disconnect the link relation.

```csharp
void ClearLinkBeforeDeserialize()

```

### <a id="VM_Models_Pre_ILinkContainer_ClearLinkBeforeSwap"></a> ClearLinkBeforeSwap()

Disconnect the link relation for undo/redo.

```csharp
void ClearLinkBeforeSwap()

```

### <a id="VM_Models_Pre_ILinkContainer_GetChilds_System_Collections_Generic_HashSet_VM_Models_Pre_ILinkContainer__"></a> GetChilds(HashSet)

Get child objects.

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

```

#### Parameters

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

The object list.

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

Get first design entities.

```csharp
IEnumerable<iobject> GetFirstDesignEntities()

```

#### Returns

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

The collection of IObject&gt;

### <a id="VM_Models_Pre_ILinkContainer_OnReserved_System_Object_System_Object_System_EventArgs_"></a> OnReserved(object, object, EventArgs)

Called after reserve linked object.

```csharp
void OnReserved(object reserved, object objNotifier, EventArgs args)

```

#### Parameters

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

The reserved object.

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

The notifier object.

`args` [EventArgs](https://learn.microsoft.com/dotnet/api/system.eventargs)

The event argument.

### <a id="VM_Models_Pre_ILinkContainer_SetDestroyedLink"></a> SetDestroyedLink()

Called when object destroyed.

```csharp
void SetDestroyedLink()

```

### <a id="VM_Models_Pre_ILinkContainer_SetModifiedAllLink"></a> SetModifiedAllLink()

Called when all object modified.

```csharp
void SetModifiedAllLink()

```

### <a id="VM_Models_Pre_ILinkContainer_SetModifiedLink"></a> SetModifiedLink()

Called when object modified.

```csharp
void SetModifiedLink()

```

### <a id="VM_Models_Pre_ILinkContainer_SkipModifiedEvent"></a> SkipModifiedEvent()

Skip Modified event for undo/redo.

```csharp
bool SkipModifiedEvent()

```

#### Returns

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

True if succeeded, otherwise false.