# Class ParameterDefinitionReference OptimaJet.Workflow.Core.Model.ParameterDefinitionReference Represents a command input parameter in [CommandDefinition.InputParameters](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/CommandDefinition/) and maps its value to a scheme-level [ParameterDefinition](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ParameterDefinition/). Namespace: [OptimaJet.Workflow.Core.Model](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/) ```csharp public class ParameterDefinitionReference ``` ## Properties `public string Name { get; set; }` Gets or sets the name used to identify and localize the command input parameter. `public bool IsRequired { get; set; }` Gets or sets a value indicating whether [WorkflowCommand.Validate(out string)](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Runtime/WorkflowCommand/) requires a non-[null](https://learn.microsoft.com/dotnet/csharp/language-reference/keywords/null) value for the command input parameter. `public string DefaultValue { get; set; }` Gets or sets the serialized default value offered for the command input. ### Remarks When a [WorkflowCommand](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Runtime/WorkflowCommand/) is created with a deserializer, Workflow Engine attempts to deserialize this value as [ParameterDefinition.Type](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ParameterDefinition/) and stores the result in [CommandParameter.DefaultValue](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Runtime/CommandParameter/). The default is not assigned to [CommandParameter.Value](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Runtime/CommandParameter/) automatically. `public ParameterDefinition Parameter { get; set; }` Gets or sets the scheme-level [ParameterDefinition](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ParameterDefinition/) to which the command input parameter is mapped and which determines its [ParameterDefinition.Type](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ParameterDefinition/). `public string Comment { get; set; }` Gets or sets the descriptive comment stored with the command input in the process scheme. ## Methods `public ParameterDefinitionReference Clone()` Creates a copy of this command input parameter mapping and clones its referenced [ParameterDefinition](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ParameterDefinition/). ### Returns | Type | Description | | --- | --- | | `ParameterDefinitionReference` | A new [ParameterDefinitionReference](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ParameterDefinitionReference/) whose [ParameterDefinitionReference.Parameter](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ParameterDefinitionReference/) is the cloned parameter definition. | [Previous ParameterDefinition](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ParameterDefinition/) [Next ParameterDefinitionWithValue](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ParameterDefinitionWithValue/)