> For the complete documentation index, see [llms.txt](https://kinematicsoup.gitbook.io/reactor/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://kinematicsoup.gitbook.io/reactor/api-reference/ks.reactor/ks.reactor.kseventset-1.md).

# Class ksEventSet\<T>

Namespace: [KS.Reactor](/reactor/api-reference/ks.reactor.md)\
Assembly: KSCommon.dll

Tracks events in a hashset.

```csharp
[Obsolete("Use ksEvent<T> instead.")]
public class ksEventSet<T>
```

#### Type Parameters

`T`

#### Inheritance

[object](https://learn.microsoft.com/dotnet/api/system.object) ← [ksEventSet\<T>](/reactor/api-reference/ks.reactor/ks.reactor.kseventset-1.md)

#### Inherited Members

[object.Equals(object)](https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals\(system-object\)), [object.Equals(object, object)](https://learn.microsoft.com/dotnet/api/system.object.equals#system-object-equals\(system-object-system-object\)), [object.GetHashCode()](https://learn.microsoft.com/dotnet/api/system.object.gethashcode), [object.GetType()](https://learn.microsoft.com/dotnet/api/system.object.gettype), [object.MemberwiseClone()](https://learn.microsoft.com/dotnet/api/system.object.memberwiseclone), [object.ReferenceEquals(object, object)](https://learn.microsoft.com/dotnet/api/system.object.referenceequals), [object.ToString()](https://learn.microsoft.com/dotnet/api/system.object.tostring)

## Fields

### Handlers <a href="#ks_reactor_kseventset_1_handlers" id="ks_reactor_kseventset_1_handlers"></a>

```csharp
public List<T> Handlers
```

#### Field Value

[List](https://learn.microsoft.com/dotnet/api/system.collections.generic.list-1)\<T>

## Methods

### ForEach(ForEachCallback) <a href="#ks_reactor_kseventset_1_foreach_ks_reactor_kseventset__0__foreachcallback" id="ks_reactor_kseventset_1_foreach_ks_reactor_kseventset__0__foreachcallback"></a>

Iterate and invoke the callback on all items.

```csharp
public void ForEach(ksEventSet<T>.ForEachCallback callback)
```

#### Parameters

`callback` [ksEventSet](/reactor/api-reference/ks.reactor/ks.reactor.kseventset-1.md)\<T>.[ForEachCallback](/reactor/api-reference/ks.reactor/ks.reactor.kseventset-1/ks.reactor.kseventset-1.foreachcallback.md)

### Remove(T) <a href="#ks_reactor_kseventset_1_remove__0" id="ks_reactor_kseventset_1_remove__0"></a>

Remove an item from the event set

```csharp
public void Remove(T item)
```

#### Parameters

`item` T

Item to be removed

## Operators

### operator +(ksEventSet\<T>, T) <a href="#ks_reactor_kseventset_1_op_addition_ks_reactor_kseventset__0___0" id="ks_reactor_kseventset_1_op_addition_ks_reactor_kseventset__0___0"></a>

Adds an event handler to the event.

```csharp
public static ksEventSet<T> operator +(ksEventSet<T> lhs, T rhs)
```

#### Parameters

`lhs` [ksEventSet](/reactor/api-reference/ks.reactor/ks.reactor.kseventset-1.md)\<T>

Event to add handler to.

`rhs` T

Handler to add.

#### Returns

[ksEventSet](/reactor/api-reference/ks.reactor/ks.reactor.kseventset-1.md)\<T>

lhs

### operator -(ksEventSet\<T>, T) <a href="#ks_reactor_kseventset_1_op_subtraction_ks_reactor_kseventset__0___0" id="ks_reactor_kseventset_1_op_subtraction_ks_reactor_kseventset__0___0"></a>

Adds an event handler to the event.

```csharp
public static ksEventSet<T> operator -(ksEventSet<T> lhs, T rhs)
```

#### Parameters

`lhs` [ksEventSet](/reactor/api-reference/ks.reactor/ks.reactor.kseventset-1.md)\<T>

Event to add handler to.

`rhs` T

Handler to add.

#### Returns

[ksEventSet](/reactor/api-reference/ks.reactor/ks.reactor.kseventset-1.md)\<T>

lhs
