---
title: "Class State | Customer's Canvas On-Premises"
canonical: "https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model/State/"
---

# Class State

> **Inheritance:** `System.Object` -> State

###### **Namespace**: [Aurigma.DesignAtoms.Model](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Model.md)

###### **Assembly**: Aurigma.DesignAtoms.Model.dll

```csharp title="Syntax"
public class State
```

## Inherited Members

* `System.Object.ToString`
* `System.Object.Equals(System.Object)`
* `System.Object.Equals(System.Object,System.Object)`
* `System.Object.ReferenceEquals(System.Object,System.Object)`
* `System.Object.GetHashCode`
* `System.Object.GetType`
* `System.Object.MemberwiseClone`

## Constructors

### State

```csharp
public State()
```

### State

```csharp
public State(Product product)
```

## Properties

### Product

```csharp
public Product Product { get; set; }
```

### RenderingConfig

```csharp
public RenderingConfig RenderingConfig { get; set; }
```

### UiConfig

```csharp
public UiConfig UiConfig { get; set; }
```

### CustomData

```csharp
public StateCustomData CustomData { get; set; }
```

### MissedFonts

```csharp
public List<string> MissedFonts { get; }
```

## Methods

### GenerateId

```csharp
public static string GenerateId()
```

##### Returns

`System.String`

### Merge&lt;TState&gt;

```csharp
public static TState Merge<TState>(params TState[] states)
    where TState : State, new()
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| `<TState>[]` | *states* |  |

##### Returns

`<TState>`

### Merge&lt;TState&gt;

```csharp
public static TState Merge<TState>(IEnumerable<TState> states)
    where TState : State, new()
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| `System.Collections.Generic.IEnumerable<<TState>>` | *states* |  |

##### Returns

`<TState>`
