EnumArgumentAttribute Class

Summary

This class helps bind an enum to an argument. This allows one to limit the choices a user is able to pass into the property.
Assembly
Cake.ArgumentBinder.dll
Namespace
Cake.ArgumentBinder
Interfaces
Base Types
graph BT Type-->Base0["BaseAttribute"] click Base0 "/api/Cake.ArgumentBinder/BaseAttribute" Base0-->Base1["Attribute"] Type-.->Interface0["IReadOnlyArgumentAttribute"] click Interface0 "/api/Cake.ArgumentBinder/IReadOnlyArgumentAttribute" Type["EnumArgumentAttribute"] class Type type-node

Syntax

public sealed class EnumArgumentAttribute : BaseAttribute, IReadOnlyArgumentAttribute

Remarks

Any enum can be used that follows the following rules. If any of these rules are broken, the attribute will not validate, and an exception will be thrown when the binding is attempted: - The enum must contain at least one value within it. Empty enums are not allowed. - If Required is set to false, the enum must have a value set to 0. 0 is the default value for an enum, and its the only way we can define a default enum value with Attribute objects.

Constructors

Properties

Name Value Summary
ArgName string
The name of the argument that is passed in via the command-line.
Inherited from BaseAttribute
ArgumentSource ArgumentSource
Where to find the argument's value.
Inherited from BaseAttribute
BaseDefaultValue object
DefaultArgumentSource ArgumentSource
Inherited from BaseAttribute
static
DefaultValue Enum
The default value of the argument. This is set to the default value of the enum, which is the value set to 0.
Description string
Description of what the argument does.
Inherited from BaseAttribute
HasSecretValue bool
Set to true if the value passed into the argument should be hidden from any print-outs to the console.
Inherited from BaseAttribute
IgnoreCase bool
When parsing the enum values, ignore all casing. This is defaulted to false. If this is set to true, and there are two enum values that, when casing is ignored, match, a validation error will happen.
Required bool
If the value is not specified, this will fail validation when this is set to true.
Inherited from BaseAttribute

Methods

Name Value Summary
ToString() string
ToString(StringBuilder) void
Appends this class's string representation to the passed in string builder object. This should be the first thing called when creating a ToString() function of all child classes.
Inherited from BaseAttribute

Extension Methods

Name Value Summary
Dump<EnumArgumentAttribute>() string
Get a basic string representation of specified object.
Requires the Cake.Incubator addin
IsIn<EnumArgumentAttribute>(EnumArgumentAttribute[]) bool
Checks if the source is contained in a list
Requires the Cake.Incubator addin
NotNull<EnumArgumentAttribute>(string) void
Throws an exception if the specified parameter's value is null.
Requires the Cake.Issues addin
NotNull<EnumArgumentAttribute>(string) void
Throws an exception if the specified parameter's value is null.
Requires the Cake.Ftp addin
ThrowIfNull<EnumArgumentAttribute>(string) T
Throws a System.ArgumentNullException if the value is null, otherwise returns the value
Requires the Cake.Incubator addin
ThrowIfNull<EnumArgumentAttribute>(string, string) T
Throws a System.ArgumentNullException with a specific message if the value is null, otherwise returns the value
Requires the Cake.Incubator addin
ToDictionary() IDictionary<string, object>
Requires the Cake.DeployParams addin