# TrackedChangeCollection.SyncRoot Property

> Gets an object that can be used to synchronize access to the collection.

- **Product:** TX Text Control .NET Server
- **Section:** Reference
- **Kind:** Property
- **Introduced:** 26.0
- **Namespace:** `TXTextControl`
- **Package:** `TXTextControl.TextControl.Core.SDK` (assembly `TXTextControl.Core.dll`, from the private NuGet feed or Text Control Offline Packages)
- **Package:** `TXTextControl.TextControl.ASP.SDK` (assembly `TXTextControl.dll`, from the private NuGet feed or Text Control Offline Packages)
- **.NET Framework:** reference `TXTextControl.dll` from the setup
- **Explicit:** implements `System.Collections.ICollection` explicitly; cast to the interface to use it
- **Path:** TX Text Control .NET Server > Reference > TXTextControl > TrackedChangeCollection.SyncRoot Property
- **403 words**
- **Web URL:** https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol/trackedchangecollection/syncroot-property/
- **LLMs URL:** https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol/trackedchangecollection/syncroot-property/llms.txt
- **LLMs-Full URL:** https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol/trackedchangecollection/syncroot-property/llms-full.txt

---

### Description

Gets an object that can be used to synchronize access to the collection.

### Syntax

The type implements this member of System.Collections.ICollection explicitly: code reaches it by casting to the interface, as in ((ICollection)value).SyncRoot.

```csharp
object ICollection.SyncRoot { get; }
```

```vbnet
Private ReadOnly Property SyncRoot As Object Implements ICollection.SyncRoot
```

### Examples

The following example uses the collection's synchronization root while creating an audit snapshot.

```csharp
ICollection collection = textControl.TrackedChanges;
lock (collection.SyncRoot)
{
    Console.WriteLine($"Tracked changes: {collection.Count}");
}
```

```vbnet
Dim collection As ICollection = textControl.TrackedChanges
SyncLock collection.SyncRoot
    Console.WriteLine($"Tracked changes: {collection.Count}")
End SyncLock
```

### Limitations

Read only.

---

## Nearby

- **Previous:** [TrackedChangeCollection.Remove Method](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol/trackedchangecollection/remove-method/llms-full.txt)
- **Next:** [TrackedChangeEventArgs Class](https://docs.textcontrol.com/tx-text-control-dotnet-server/reference/txtextcontrol/trackedchangeeventargs/llms-full.txt)
