Table of Contents

Class ArgsBuilder

Namespace
Heleonix.Execution
Assembly
Heleonix.Execution.dll

Helps to build command line arguments to be passed in to executables. Each method accepts a condition argument to determine whether to add an argument or not, and returns this instance of the ArgsBuilder for chaining.

public sealed class ArgsBuilder
Inheritance
ArgsBuilder
Inherited Members

Methods

AddArgument(string, object, bool)

Adds the specified key and value.

public ArgsBuilder AddArgument(string key, object value, bool condition = true)

Parameters

key string

The key.

value object

The value.

condition bool

A condition to add.

Returns

ArgsBuilder

This instance.

Examples

var canAddArgument = true;

var args = ArgsBuilder.By("--", "=").AddArgument("arg1", "value1", canAddArgument);

// args: "--arg1=value1".

AddArguments(string, IEnumerable<object>, bool, bool)

Adds the specified list of values with the specified key, repeating key/value pair if multipleTimes is true.

public ArgsBuilder AddArguments(string key, IEnumerable<object> values, bool multipleTimes = false, bool condition = true)

Parameters

key string

The key.

values IEnumerable<object>

The values.

multipleTimes bool

Determines whether to add each argument with a separate key.

condition bool

A condition to add.

Returns

ArgsBuilder

This instance.

Examples

var canAddArguments = true;

var args = ArgsBuilder.By("--", "=", valueSeparator: ",").AddArguments("key", new[] { "111", "222", false, canAddArguments);

var multipleArgs = ArgsBuilder.By("--", "=").AddArguments("key", new[] { "111", "222", true, canAddArguments);

// args: "--key=111,222"

// multipleArgs: "--key=111 --key=222".

AddKey(string, bool)

Adds the specified key.

public ArgsBuilder AddKey(string key, bool condition = true)

Parameters

key string

The key.

condition bool

A condition to add.

Returns

ArgsBuilder

This ArgsBuilder.

Examples

var canAddKey = true;

var args = ArgsBuilder.By("--", "=").AddKey("key1", canAddKey);

// args: "--key1".

AddKeys(IEnumerable<string>, bool)

Adds the specified list of keys.

public ArgsBuilder AddKeys(IEnumerable<string> keys, bool condition = true)

Parameters

keys IEnumerable<string>

The keys.

condition bool

A condition to add.

Returns

ArgsBuilder

This instance.

Examples

var canAddKeys = true;

var args = ArgsBuilder.By("--", "=").AddKeys(new[] { "key1", "key2" }, canAddKeys);

// args: "--key1 --key2".

AddPath(string, bool)

Adds the specified path.

public ArgsBuilder AddPath(string path, bool condition = true)

Parameters

path string

The path.

condition bool

A condition to add.

Returns

ArgsBuilder

This instance.

Examples

var canAddPath = true;

var args = ArgsBuilder.By("--", "=").AddPath("C:\My Folder\my file.txt", canAddPath);

// args: ""C:\My Folder\my file.txt"".

AddPath(string, string, bool)

Adds the specified path with the specified key.

public ArgsBuilder AddPath(string key, string path, bool condition = true)

Parameters

key string

The key.

path string

The path.

condition bool

A condition to add.

Returns

ArgsBuilder

This instance.

Examples

var canAddPath = true;

var args = ArgsBuilder.By("--", "=").AddPath("key", "C:\My Folder\my file.txt", canAddPath);

// args: "--key="C:\My Folder\my file.txt"".

AddPaths(IEnumerable<string>, bool)

Adds the specified list of paths.

public ArgsBuilder AddPaths(IEnumerable<string> paths, bool condition = true)

Parameters

paths IEnumerable<string>

The paths.

condition bool

A condition to add.

Returns

ArgsBuilder

This instance.

Examples

var canAddPaths = true;

var args = ArgsBuilder.By("--", "=").AddPaths(new [] { "C:\my file 1.txt", "C:\my file 2.txt", canAddPaths);

// args: ""C:\my file 1.txt" "C:\my file 2.txt"".

AddPaths(string, IEnumerable<string>, bool, bool)

Adds the specified list of paths with the specified key, repeating key/path pair if multipleTimes is true.

public ArgsBuilder AddPaths(string key, IEnumerable<string> paths, bool multipleTimes = false, bool condition = true)

Parameters

key string

The key.

paths IEnumerable<string>

The paths.

multipleTimes bool

Determines whether to add each path with separate key.

condition bool

A condition to add.

Returns

ArgsBuilder

This instance.

Examples

var canAddPaths = true;

var args = ArgsBuilder.By("--", "=", valueSeparator: ",").AddPaths("key", new[] { "C:\my file 1.txt", "C:\my file 2.txt", false, canAddPaths);

var multipleArgs = ArgsBuilder.By("--", "=").AddPaths("key", new[] { "C:\my file 1.txt", "C:\my file 2.txt", true, canAddPaths);

// args: "--key="C:\my file 1.txt","C:\my file 2.txt""

// multipleArgs: "--key="C:\my file 1.txt" --key="C:\my file 2.txt"".

AddValue(object, bool)

Adds the specified value.

public ArgsBuilder AddValue(object value, bool condition = true)

Parameters

value object

The value.

condition bool

A condition to add.

Returns

ArgsBuilder

This instance.

Examples

var canAddValue = true;

var args = ArgsBuilder.By("--", "=").AddValue("12345", canAddValue);

// args: "12345".

AddValues(IEnumerable<object>, bool)

Adds the specified list of values.

public ArgsBuilder AddValues(IEnumerable<object> values, bool condition = true)

Parameters

values IEnumerable<object>

The values.

condition bool

A condition to add.

Returns

ArgsBuilder

This instance.

Examples

var canAddValues = true;

var args = ArgsBuilder.By("--", "=").AddValues(new [] { "111", "222", canAddValues);

// args: "111 222".

By(string, string, string, string, string)

Creates a new ArgsBuilder with the specified separators.

public static ArgsBuilder By(string keyPrefix, string keyValueSeparator, string valueSeparator = ";", string pathWrapper = "\"", string argsSeparator = " ")

Parameters

keyPrefix string

Prepends each key.

keyValueSeparator string

Separates keys and values.

valueSeparator string

Separates multiple values or paths under a single key.

pathWrapper string

Wraps paths using AddPath or AddPaths when paths have spaces etc.

argsSeparator string

Separates key/value pairs (arguments).

Returns

ArgsBuilder

A newly created ArgsBuilder instance.

ToString()

Returns a string that represents this instance.

public override string ToString()

Returns

string

A string that represents this instance.

Operators

implicit operator string(ArgsBuilder)

Performs an implicit conversion from ArgsBuilder to string.

public static implicit operator string(ArgsBuilder builder)

Parameters

builder ArgsBuilder

The builder.

Returns

string

The result of the conversion.