# DurableStateManagerExtensions Methods

[Type overview](/orleans/docs/api/csharp/microsoft.orleans.journaling/orleans.journaling.durablestatemanagerextensions/)

## GetOrAddDictionary(IDurableStateManager, string) {#getoradddictionary-2-this-orleans-journaling-idurablestatemanager-string-01bee29f}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.journaling/orleans.journaling.durablestatemanagerextensions/methods/getoradddictionary-2-this-orleans-journaling-idurablestatemanager-string-01bee29f/)

[Source](https://github.com/dotnet/orleans/blob/81be59a9559d647e20a3e84c0d637ae924d17095/src/Orleans.Journaling/DurableStateManagerExtensions.cs#L17-L18)

```csharp
public static IDurableDictionary<TKey, TValue> GetOrAddDictionary<TKey, TValue>(this IDurableStateManager manager, string name)
```

Gets or creates a named durable dictionary.

### Parameters

- `manager` (`IDurableStateManager`): The owning manager.
- `name` (`string`): The stable state name.

### Returns

The named dictionary instance.

## GetOrAddList(IDurableStateManager, string) {#getoraddlist-1-this-orleans-journaling-idurablestatemanager-string-71fab315}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.journaling/orleans.journaling.durablestatemanagerextensions/methods/getoraddlist-1-this-orleans-journaling-idurablestatemanager-string-71fab315/)

[Source](https://github.com/dotnet/orleans/blob/81be59a9559d647e20a3e84c0d637ae924d17095/src/Orleans.Journaling/DurableStateManagerExtensions.cs#L28-L29)

```csharp
public static IDurableList<T> GetOrAddList<T>(this IDurableStateManager manager, string name)
```

Gets or creates a named durable list.

### Parameters

- `manager` (`IDurableStateManager`): The owning manager.
- `name` (`string`): The stable state name.

### Returns

The named list instance.

## GetOrAddPersistentState(IDurableStateManager, string) {#getoraddpersistentstate-1-this-orleans-journaling-idurablestatemanager-string-eb7be83c}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.journaling/orleans.journaling.durablestatemanagerextensions/methods/getoraddpersistentstate-1-this-orleans-journaling-idurablestatemanager-string-eb7be83c/)

[Source](https://github.com/dotnet/orleans/blob/81be59a9559d647e20a3e84c0d637ae924d17095/src/Orleans.Journaling/DurableStateManagerExtensions.cs#L83-L84)

```csharp
public static IPersistentState<T> GetOrAddPersistentState<T>(this IDurableStateManager manager, string name)
```

Gets or creates named journal-backed persistent state.

### Parameters

- `manager` (`IDurableStateManager`): The owning manager.
- `name` (`string`): The stable state name.

### Returns

The named persistent state instance.

## GetOrAddQueue(IDurableStateManager, string) {#getoraddqueue-1-this-orleans-journaling-idurablestatemanager-string-8248d9a9}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.journaling/orleans.journaling.durablestatemanagerextensions/methods/getoraddqueue-1-this-orleans-journaling-idurablestatemanager-string-8248d9a9/)

[Source](https://github.com/dotnet/orleans/blob/81be59a9559d647e20a3e84c0d637ae924d17095/src/Orleans.Journaling/DurableStateManagerExtensions.cs#L39-L40)

```csharp
public static IDurableQueue<T> GetOrAddQueue<T>(this IDurableStateManager manager, string name)
```

Gets or creates a named durable queue.

### Parameters

- `manager` (`IDurableStateManager`): The owning manager.
- `name` (`string`): The stable state name.

### Returns

The named queue instance.

## GetOrAddSet(IDurableStateManager, string) {#getoraddset-1-this-orleans-journaling-idurablestatemanager-string-ad5d1edf}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.journaling/orleans.journaling.durablestatemanagerextensions/methods/getoraddset-1-this-orleans-journaling-idurablestatemanager-string-ad5d1edf/)

[Source](https://github.com/dotnet/orleans/blob/81be59a9559d647e20a3e84c0d637ae924d17095/src/Orleans.Journaling/DurableStateManagerExtensions.cs#L50-L51)

```csharp
public static IDurableSet<T> GetOrAddSet<T>(this IDurableStateManager manager, string name)
```

Gets or creates a named durable set.

### Parameters

- `manager` (`IDurableStateManager`): The owning manager.
- `name` (`string`): The stable state name.

### Returns

The named set instance.

## GetOrAddTaskCompletionSource(IDurableStateManager, string) {#getoraddtaskcompletionsource-1-this-orleans-journaling-idurablestatemanager-stri-42ecb291}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.journaling/orleans.journaling.durablestatemanagerextensions/methods/getoraddtaskcompletionsource-1-this-orleans-journaling-idurablestatemanager-stri-42ecb291/)

[Source](https://github.com/dotnet/orleans/blob/81be59a9559d647e20a3e84c0d637ae924d17095/src/Orleans.Journaling/DurableStateManagerExtensions.cs#L72-L73)

```csharp
public static IDurableTaskCompletionSource<T> GetOrAddTaskCompletionSource<T>(this IDurableStateManager manager, string name)
```

Gets or creates a named durable task completion source.

### Parameters

- `manager` (`IDurableStateManager`): The owning manager.
- `name` (`string`): The stable state name.

### Returns

The named task completion source instance.

## GetOrAddValue(IDurableStateManager, string) {#getoraddvalue-1-this-orleans-journaling-idurablestatemanager-string-2c00cd65}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.journaling/orleans.journaling.durablestatemanagerextensions/methods/getoraddvalue-1-this-orleans-journaling-idurablestatemanager-string-2c00cd65/)

[Source](https://github.com/dotnet/orleans/blob/81be59a9559d647e20a3e84c0d637ae924d17095/src/Orleans.Journaling/DurableStateManagerExtensions.cs#L61-L62)

```csharp
public static IDurableValue<T> GetOrAddValue<T>(this IDurableStateManager manager, string name)
```

Gets or creates a named durable value.

### Parameters

- `manager` (`IDurableStateManager`): The owning manager.
- `name` (`string`): The stable state name.

### Returns

The named value instance.
