# Interface ICodeActionBuilder OptimaJet.Workflow.Core.Model.Builder.ICodeActionBuilder Provides fluent configuration of a [CodeActionDefinition](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/CodeActionDefinition/) created by the Programmatic Scheme Builder. Namespace: [OptimaJet.Workflow.Core.Model.Builder](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model.Builder/) ```csharp public interface ICodeActionBuilder : IProcessDefinitionBuilder ``` ## Type Hierarchy - ICodeActionBuilder Current type - Base interfaces - [IProcessDefinitionBuilder](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model.Builder/IProcessDefinitionBuilder/) ## Properties `CodeActionDefinition CodeAction { get; }` Gets the [CodeActionDefinition](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/CodeActionDefinition/) selected for configuration. ## Methods `ICodeActionBuilder Async()` Configures the current [CodeActionDefinition](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/CodeActionDefinition/) to be compiled and invoked asynchronously. ### Returns | Type | Description | | --- | --- | | `ICodeActionBuilder` | This [ICodeActionBuilder](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model.Builder/ICodeActionBuilder/) so that additional configuration can be chained. | `ICodeActionBuilder Sync()` Configures the current [CodeActionDefinition](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/CodeActionDefinition/) to be compiled and invoked synchronously. ### Returns | Type | Description | | --- | --- | | `ICodeActionBuilder` | This [ICodeActionBuilder](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model.Builder/ICodeActionBuilder/) so that additional configuration can be chained. | `ICodeActionBuilder Code(string code)` Sets the C# method body of the current [CodeActionDefinition](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/CodeActionDefinition/). ### Parameters | Name | Type | Description | | --- | --- | --- | | `code` | `String` | The C# method body to assign to [CodeActionDefinition.ActionCode](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/CodeActionDefinition/). | ### Returns | Type | Description | | --- | --- | | `ICodeActionBuilder` | This [ICodeActionBuilder](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model.Builder/ICodeActionBuilder/) so that additional configuration can be chained. | `ICodeActionBuilder SetUsings(params string[] usings)` Replaces the code-action-specific namespace imports stored in [CodeActionDefinition.Usings](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/CodeActionDefinition/). ### Parameters | Name | Type | Description | | --- | --- | --- | | `usings` | `String[]` | The namespace names to import. Entries are trimmed, empty entries are ignored, and duplicates are removed. | ### Returns | Type | Description | | --- | --- | | `ICodeActionBuilder` | This [ICodeActionBuilder](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model.Builder/ICodeActionBuilder/) so that additional configuration can be chained. | ### Exceptions | Type | Description | | --- | --- | | `ArgumentException` | Thrown when an element of `usings` contains a semicolon. | `ICodeActionBuilder AddUsings(params string[] usings)` Adds code-action-specific namespace imports to [CodeActionDefinition.Usings](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/CodeActionDefinition/). ### Parameters | Name | Type | Description | | --- | --- | --- | | `usings` | `String[]` | The namespace names to add. Entries are trimmed, empty entries are ignored, and duplicates are removed. | ### Returns | Type | Description | | --- | --- | | `ICodeActionBuilder` | This [ICodeActionBuilder](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model.Builder/ICodeActionBuilder/) so that additional configuration can be chained. | ### Exceptions | Type | Description | | --- | --- | | `ArgumentException` | Thrown when an element of `usings` contains a semicolon. | `ICodeActionBuilder RemoveUsings(params string[] usings)` Removes code-action-specific namespace imports from [CodeActionDefinition.Usings](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/CodeActionDefinition/). ### Parameters | Name | Type | Description | | --- | --- | --- | | `usings` | `String[]` | The namespace names to remove. | ### Returns | Type | Description | | --- | --- | | `ICodeActionBuilder` | This [ICodeActionBuilder](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model.Builder/ICodeActionBuilder/) so that additional configuration can be chained. | `ICodeActionBuilder ClearUsings()` Clears the code-action-specific namespace imports stored in [CodeActionDefinition.Usings](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/CodeActionDefinition/). ### Returns | Type | Description | | --- | --- | | `ICodeActionBuilder` | This [ICodeActionBuilder](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model.Builder/ICodeActionBuilder/) so that additional configuration can be chained. | `ICodeActionBuilder SetExcludedUsings(params string[] usings)` Replaces the code-action-specific namespace-import exclusions stored in [CodeActionDefinition.ExcludedUsings](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/CodeActionDefinition/). ### Parameters | Name | Type | Description | | --- | --- | --- | | `usings` | `String[]` | The namespace names to exclude. Entries are trimmed, empty entries are ignored, and duplicates are removed. | ### Returns | Type | Description | | --- | --- | | `ICodeActionBuilder` | This [ICodeActionBuilder](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model.Builder/ICodeActionBuilder/) so that additional configuration can be chained. | ### Exceptions | Type | Description | | --- | --- | | `ArgumentException` | Thrown when an element of `usings` contains a semicolon. | `ICodeActionBuilder AddExcludedUsings(params string[] usings)` Adds code-action-specific namespace-import exclusions to [CodeActionDefinition.ExcludedUsings](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/CodeActionDefinition/). ### Parameters | Name | Type | Description | | --- | --- | --- | | `usings` | `String[]` | The namespace names to exclude. Entries are trimmed, empty entries are ignored, and duplicates are removed. | ### Returns | Type | Description | | --- | --- | | `ICodeActionBuilder` | This [ICodeActionBuilder](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model.Builder/ICodeActionBuilder/) so that additional configuration can be chained. | ### Exceptions | Type | Description | | --- | --- | | `ArgumentException` | Thrown when an element of `usings` contains a semicolon. | `ICodeActionBuilder RemoveExcludedUsings(params string[] usings)` Removes code-action-specific namespace-import exclusions from [CodeActionDefinition.ExcludedUsings](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/CodeActionDefinition/). ### Parameters | Name | Type | Description | | --- | --- | --- | | `usings` | `String[]` | The namespace names to remove from the exclusion list. | ### Returns | Type | Description | | --- | --- | | `ICodeActionBuilder` | This [ICodeActionBuilder](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model.Builder/ICodeActionBuilder/) so that additional configuration can be chained. | `ICodeActionBuilder ClearExcludedUsings()` Clears the code-action-specific namespace-import exclusions stored in [CodeActionDefinition.ExcludedUsings](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model/CodeActionDefinition/). ### Returns | Type | Description | | --- | --- | | `ICodeActionBuilder` | This [ICodeActionBuilder](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model.Builder/ICodeActionBuilder/) so that additional configuration can be chained. | [Previous IBaseActivityBuilder](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model.Builder/IBaseActivityBuilder/) [Next ICommandBuilder](https://api.workflowengine.io/core/OptimaJet.Workflow.Core.Model.Builder/ICommandBuilder/)