    

 ## On this page

  

 

 # Class LinkListCollection&lt;T, TLink\\&gt;

 Last update: 16.07.2025 

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

```csharp
public class LinkListCollection<T, TLink> : LinkCollection<T, TLink, List<TLink>>, ILinkCollection, IPostDeserialized where T : class where TLink : class, ITypedLink<T>

```

#### Type Parameters

`T`

`TLink`

#### Inheritance

[object](https://learn.microsoft.com/dotnet/api/system.object) ← [LinkCollection&lt;T, TLink, List&lt;TLink&gt;&gt;](VM.Managed.Collections.LinkCollection-3.md) ← [LinkListCollection&lt;T, TLink&gt;](VM.Managed.Collections.LinkListCollection-2.md)

#### Implements

[ILinkCollection](VM.Managed.Collections.ILinkCollection.md), IPostDeserialized

#### Inherited Members

[LinkCollection&lt;T, TLink, List&lt;TLink&gt;&gt;.m\_collection](VM.Managed.Collections.LinkCollection-3.md#VM_Managed_Collections_LinkCollection_3_m_collection), [LinkCollection&lt;T, TLink, List&lt;TLink&gt;&gt;.m\_objLinkOwner](VM.Managed.Collections.LinkCollection-3.md#VM_Managed_Collections_LinkCollection_3_m_objLinkOwner), [LinkCollection&lt;T, TLink, List&lt;TLink&gt;&gt;.m\_ehCollectionChanged](VM.Managed.Collections.LinkCollection-3.md#VM_Managed_Collections_LinkCollection_3_m_ehCollectionChanged), [LinkCollection&lt;T, TLink, List&lt;TLink&gt;&gt;.m\_syncLock](VM.Managed.Collections.LinkCollection-3.md#VM_Managed_Collections_LinkCollection_3_m_syncLock), [LinkCollection&lt;T, TLink, List&lt;TLink&gt;&gt;.raise\_CollectionChanged(object, NotifyCollectionChangedEventArgs)](VM.Managed.Collections.LinkCollection-3.md#VM_Managed_Collections_LinkCollection_3_raise_CollectionChanged_System_Object_System_Collections_Specialized_NotifyCollectionChangedEventArgs_), [LinkCollection&lt;T, TLink, List&lt;TLink&gt;&gt;.Add(T)](VM.Managed.Collections.LinkCollection-3.md#VM_Managed_Collections_LinkCollection_3_Add__0_), [LinkCollection&lt;T, TLink, List&lt;TLink&gt;&gt;.Add(T, bool)](VM.Managed.Collections.LinkCollection-3.md#VM_Managed_Collections_LinkCollection_3_Add__0_System_Boolean_), [LinkCollection&lt;T, TLink, List&lt;TLink&gt;&gt;.Clear()](VM.Managed.Collections.LinkCollection-3.md#VM_Managed_Collections_LinkCollection_3_Clear), [LinkCollection&lt;T, TLink, List&lt;TLink&gt;&gt;.Clear(bool)](VM.Managed.Collections.LinkCollection-3.md#VM_Managed_Collections_LinkCollection_3_Clear_System_Boolean_), [LinkCollection&lt;T, TLink, List&lt;TLink&gt;&gt;.Contains(T)](VM.Managed.Collections.LinkCollection-3.md#VM_Managed_Collections_LinkCollection_3_Contains__0_), [LinkCollection&lt;T, TLink, List&lt;TLink&gt;&gt;.CopyTo(T\[\], int)](VM.Managed.Collections.LinkCollection-3.md#VM_Managed_Collections_LinkCollection_3_CopyTo__0___System_Int32_), [LinkCollection&lt;T, TLink, List&lt;TLink&gt;&gt;.GetEnumeratorImpl()](VM.Managed.Collections.LinkCollection-3.md#VM_Managed_Collections_LinkCollection_3_GetEnumeratorImpl), [LinkCollection&lt;T, TLink, List&lt;TLink&gt;&gt;.GetEnumerator()](VM.Managed.Collections.LinkCollection-3.md#VM_Managed_Collections_LinkCollection_3_GetEnumerator), [LinkCollection&lt;T, TLink, List&lt;TLink&gt;&gt;.Remove(T)](VM.Managed.Collections.LinkCollection-3.md#VM_Managed_Collections_LinkCollection_3_Remove__0_), [LinkCollection&lt;T, TLink, List&lt;TLink&gt;&gt;.Remove(T, bool)](VM.Managed.Collections.LinkCollection-3.md#VM_Managed_Collections_LinkCollection_3_Remove__0_System_Boolean_), [LinkCollection&lt;T, TLink, List&lt;TLink&gt;&gt;.SetModified(ModifiedType, bool)](VM.Managed.Collections.LinkCollection-3.md#VM_Managed_Collections_LinkCollection_3_SetModified_VM_Managed_Collections_ModifiedType_System_Boolean_), [LinkCollection&lt;T, TLink, List&lt;TLink&gt;&gt;.SimpleValueModifiedForCollection(ModifiedType)](VM.Managed.Collections.LinkCollection-3.md#VM_Managed_Collections_LinkCollection_3_SimpleValueModifiedForCollection_VM_Managed_Collections_ModifiedType_), [LinkCollection&lt;T, TLink, List&lt;TLink&gt;&gt;.SimpleValueModifiedForCollection(ModifiedType, bool)](VM.Managed.Collections.LinkCollection-3.md#VM_Managed_Collections_LinkCollection_3_SimpleValueModifiedForCollection_VM_Managed_Collections_ModifiedType_System_Boolean_), [LinkCollection&lt;T, TLink, List&lt;TLink&gt;&gt;.AddDestroyEvent(TLink)](VM.Managed.Collections.LinkCollection-3.md#VM_Managed_Collections_LinkCollection_3_AddDestroyEvent__1_), [LinkCollection&lt;T, TLink, List&lt;TLink&gt;&gt;.IsReadOnly](VM.Managed.Collections.LinkCollection-3.md#VM_Managed_Collections_LinkCollection_3_IsReadOnly), [LinkCollection&lt;T, TLink, List&lt;TLink&gt;&gt;.Count](VM.Managed.Collections.LinkCollection-3.md#VM_Managed_Collections_LinkCollection_3_Count), [LinkCollection&lt;T, TLink, List&lt;TLink&gt;&gt;.CollectionChanged](VM.Managed.Collections.LinkCollection-3.md#VM_Managed_Collections_LinkCollection_3_CollectionChanged)

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

### LinkListCollection(ILinkContainer)

```csharp
public LinkListCollection(ILinkContainer objParent)

```

#### Parameters

`objParent` ILinkContainer

### LinkListCollection(ILinkContainer, List&lt;TLink&gt;)

```csharp
public LinkListCollection(ILinkContainer objParent, List<TLink> collection)

```

#### Parameters

`objParent` ILinkContainer

`collection` [List](https://learn.microsoft.com/dotnet/api/system.collections.generic.list-1)&lt;TLink&gt;

## Properties

### this\[int\]

```csharp
public virtual T this[int nIdx] { get; set; }

```

#### Property Value

T

## Methods

### ClearForLargeAmount()

```csharp
public virtual void ClearForLargeAmount()

```

### IndexOf(T)

```csharp
public virtual int IndexOf(T item)

```

#### Parameters

`item` T

#### Returns

[int](https://learn.microsoft.com/dotnet/api/system.int32)

### Insert(int, T)

```csharp
public virtual void Insert(int index, T item)

```

#### Parameters

`index` [int](https://learn.microsoft.com/dotnet/api/system.int32)

`item` T

### Remove(T)

```csharp
public override bool Remove(T item)

```

#### Parameters

`item` T

#### Returns

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

### Remove(T, bool)

```csharp
public override bool Remove(T item, bool bContainsDocument)

```

#### Parameters

`item` T

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

#### Returns

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

### RemoveAt(int)

```csharp
public virtual void RemoveAt(int index)

```

#### Parameters

`index` [int](https://learn.microsoft.com/dotnet/api/system.int32)

### RemoveAt(int, bool)

```csharp
public virtual void RemoveAt(int index, bool bContainsDocument)

```

#### Parameters

`index` [int](https://learn.microsoft.com/dotnet/api/system.int32)

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

### Replace(T, T)

```csharp
public virtual void Replace(T oldItem, T newItem)

```

#### Parameters

`oldItem` T

`newItem` T

### Set(T\[\])

```csharp
public virtual void Set(T[] items)

```

#### Parameters

`items` T\[\]