# Class BaseDefinition OptimaJet.Workflow.Core.Model.BaseDefinition Provides the name and [BaseDefinition.DesignerSettings](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/BaseDefinition/) shared by definitions in a process scheme. Namespace: [OptimaJet.Workflow.Core.Model](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/) ```csharp public abstract class BaseDefinition ``` ## Type Hierarchy - BaseDefinition Current type - [ActivityDefinition](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ActivityDefinition/) - [ActorDefinition](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ActorDefinition/) - [CodeActionDefinition](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/CodeActionDefinition/) - [CommandDefinition](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/CommandDefinition/) - [CommentDefinition](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/CommentDefinition/) - [ParameterDefinition](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ParameterDefinition/) - [ParameterDefinitionWithValue](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ParameterDefinitionWithValue/) - [ProcessDefinition](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/ProcessDefinition/) - [TimerDefinition](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/TimerDefinition/) - [TransitionDefinition](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/TransitionDefinition/) ## Constructors `protected BaseDefinition()` Initializes a new instance of the [BaseDefinition](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/BaseDefinition/) class with new [BaseDefinition.DesignerSettings](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/BaseDefinition/). ## Properties `public virtual string Name { get; set; }` Gets or sets the name of this definition within its process scheme. `public DesignerSettings DesignerSettings { get; set; }` Gets or sets the layout and appearance settings used to position and render this definition in Workflow Designer. ## Methods `public BaseDefinition Clone()` Creates a copy of the current definition. ### Returns | Type | Description | | --- | --- | | `BaseDefinition` | A [BaseDefinition](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/BaseDefinition/) copy whose runtime type matches the current instance. | ### Exceptions | Type | Description | | --- | --- | | `NullReferenceException` | The value of [BaseDefinition.DesignerSettings](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/BaseDefinition/) is [null](https://learn.microsoft.com/dotnet/csharp/language-reference/keywords/null). | ### Remarks The operation performs a shallow copy, then clones [BaseDefinition.DesignerSettings](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/BaseDefinition/). [Previous Annotation](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/Annotation/) [Next CodeActionDefinition](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/CodeActionDefinition/)