> ## Documentation Index
> Fetch the complete documentation index at: https://si.easyaf.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# FormFieldDefinition

> Immutable snapshot of one form field. Produced by [IFormElicitationSource.ToDefinition](/mcpessentials/api-reference/CloudNimble/McpEssentials/Core/Tasks/Elicitations/IFor...

## Definition

**Assembly:** CloudNimble.McpEssentials.Core.dll

**Namespace:** CloudNimble.McpEssentials.Core.Tasks.Elicitations

**Inheritance:** System.Object

## Syntax

```csharp theme={"dark"}
CloudNimble.McpEssentials.Core.Tasks.Elicitations.FormFieldDefinition
```

## Summary

Immutable snapshot of one form field. Produced by [IFormElicitationSource.ToDefinition](https://si.easyaf.dev/api-reference/CloudNimble/McpEssentials/Core/Tasks/Elicitations/IFormElicitationSource#todefinition)
and by `String)`.

## Constructors

### &#x20;.ctor

Initializes a field with *name* and *type*.
Remaining facets are set with object initializers.

#### Syntax

```csharp theme={"dark"}
public FormFieldDefinition(string name, CloudNimble.McpEssentials.Core.Tasks.Elicitations.FormFieldType type)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `name` | `string` | The camelCase wire name. |
| `type` | `CloudNimble.McpEssentials.Core.Tasks.Elicitations.FormFieldType` | The primitive kind. |

#### Exceptions

| Exception | Description |
| - | - |
| `ArgumentException` | Thrown when *name* is empty. |

### &#x20;.ctor Inherited

> [!NOTE]
>
> Inherited from `object`

#### Syntax

```csharp theme={"dark"}
public Object()
```

## Properties

### &#x20;DefaultBool

Gets the default boolean value, or [`null`](https://learn.microsoft.com/dotnet/csharp/language-reference/keywords/null) when unset.

#### Syntax

```csharp theme={"dark"}
public System.Nullable<bool> DefaultBool { get; init; }
```

#### Property Value

Type: `System.Nullable<bool>?`

### &#x20;DefaultNumber

Gets the default numeric value, or [`null`](https://learn.microsoft.com/dotnet/csharp/language-reference/keywords/null) when unset.

#### Syntax

```csharp theme={"dark"}
public System.Nullable<double> DefaultNumber { get; init; }
```

#### Property Value

Type: `System.Nullable<double>?`

### &#x20;DefaultString

Gets the default string or single-select value, or [`null`](https://learn.microsoft.com/dotnet/csharp/language-reference/keywords/null) when unset.

#### Syntax

```csharp theme={"dark"}
public string DefaultString { get; init; }
```

#### Property Value

Type: `string?`

### &#x20;DefaultStrings

Gets the default multi-select values, or [`null`](https://learn.microsoft.com/dotnet/csharp/language-reference/keywords/null) when unset.

#### Syntax

```csharp theme={"dark"}
public System.Collections.Generic.IReadOnlyList<string> DefaultStrings { get; init; }
```

#### Property Value

Type: `System.Collections.Generic.IReadOnlyList<string>?`

### &#x20;Description

Gets the description shown with the field.

#### Syntax

```csharp theme={"dark"}
public string Description { get; init; }
```

#### Property Value

Type: `string?`

### &#x20;Format

Gets the string format: `email`, `uri`, `date`, or `date-time`.

#### Syntax

```csharp theme={"dark"}
public string Format { get; init; }
```

#### Property Value

Type: `string?`

### &#x20;Maximum

Gets the maximum numeric value.

#### Syntax

```csharp theme={"dark"}
public System.Nullable<double> Maximum { get; init; }
```

#### Property Value

Type: `System.Nullable<double>?`

### &#x20;MaxItems

Gets the maximum number of selected items on a multi-select field.

#### Syntax

```csharp theme={"dark"}
public System.Nullable<int> MaxItems { get; init; }
```

#### Property Value

Type: `System.Nullable<int>?`

### &#x20;MaxLength

Gets the maximum string length.

#### Syntax

```csharp theme={"dark"}
public System.Nullable<int> MaxLength { get; init; }
```

#### Property Value

Type: `System.Nullable<int>?`

### &#x20;Minimum

Gets the minimum numeric value.

#### Syntax

```csharp theme={"dark"}
public System.Nullable<double> Minimum { get; init; }
```

#### Property Value

Type: `System.Nullable<double>?`

### &#x20;MinItems

Gets the minimum number of selected items on a multi-select field.

#### Syntax

```csharp theme={"dark"}
public System.Nullable<int> MinItems { get; init; }
```

#### Property Value

Type: `System.Nullable<int>?`

### &#x20;MinLength

Gets the minimum string length.

#### Syntax

```csharp theme={"dark"}
public System.Nullable<int> MinLength { get; init; }
```

#### Property Value

Type: `System.Nullable<int>?`

### &#x20;Name

Gets the camelCase wire name.

#### Syntax

```csharp theme={"dark"}
public string Name { get; }
```

#### Property Value

Type: `string`

### &#x20;Options

Gets the allowed values for enum and multi fields.

#### Syntax

```csharp theme={"dark"}
public System.Collections.Generic.IReadOnlyList<CloudNimble.McpEssentials.Core.Tasks.Elicitations.FormOptionDefinition> Options { get; init; }
```

#### Property Value

Type: `System.Collections.Generic.IReadOnlyList<CloudNimble.McpEssentials.Core.Tasks.Elicitations.FormOptionDefinition>`

### &#x20;Required

Gets whether the field is listed in `required`.

#### Syntax

```csharp theme={"dark"}
public bool Required { get; init; }
```

#### Property Value

Type: `bool`

### &#x20;Title

Gets the display title.

#### Syntax

```csharp theme={"dark"}
public string Title { get; init; }
```

#### Property Value

Type: `string?`

### &#x20;Type

Gets the primitive kind.

#### Syntax

```csharp theme={"dark"}
public CloudNimble.McpEssentials.Core.Tasks.Elicitations.FormFieldType Type { get; }
```

#### Property Value

Type: `CloudNimble.McpEssentials.Core.Tasks.Elicitations.FormFieldType?`

## Methods

### &#x20;Equals Inherited Virtual

> [!NOTE]
>
> Inherited from `object`

#### Syntax

```csharp theme={"dark"}
public virtual bool Equals(object obj)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `obj` | `object?` | - |

#### Returns

Type: `bool`

### &#x20;Equals Inherited

> [!NOTE]
>
> Inherited from `object`

#### Syntax

```csharp theme={"dark"}
public static bool Equals(object objA, object objB)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `objA` | `object?` | - |
| `objB` | `object?` | - |

#### Returns

Type: `bool`

### &#x20;GetHashCode Inherited Virtual

> [!NOTE]
>
> Inherited from `object`

#### Syntax

```csharp theme={"dark"}
public virtual int GetHashCode()
```

#### Returns

Type: `int`

### &#x20;GetType Inherited

> [!NOTE]
>
> Inherited from `object`

#### Syntax

```csharp theme={"dark"}
public System.Type GetType()
```

#### Returns

Type: `System.Type`

### &#x20;MemberwiseClone Inherited

> [!NOTE]
>
> Inherited from `object`

#### Syntax

```csharp theme={"dark"}
protected internal object MemberwiseClone()
```

#### Returns

Type: `object`

### &#x20;ReferenceEquals Inherited

> [!NOTE]
>
> Inherited from `object`

#### Syntax

```csharp theme={"dark"}
public static bool ReferenceEquals(object objA, object objB)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `objA` | `object?` | - |
| `objB` | `object?` | - |

#### Returns

Type: `bool`

### &#x20;ToString Inherited Virtual

> [!NOTE]
>
> Inherited from `object`

#### Syntax

```csharp theme={"dark"}
public virtual string ToString()
```

#### Returns

Type: `string?`


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.