Spectre.Console.Cli
An attribute representing a command argument.
Gets the argument position.
The argument position.
Gets the value name of the argument.
The value name of the argument.
Gets a value indicating whether the argument is required.
true if the argument is required; otherwise, false.
Initializes a new instance of the class.
The argument position.
The argument template. Wrap in <> for required arguments, [] for optional ones. For example "[MyArgument]".
An attribute representing a command option.
Gets the long names of the option.
The option's long names.
Gets the short names of the option.
The option's short names.
Gets the value name of the option.
The option's value name.
Gets a value indicating whether the value is optional.
Gets or sets a value indicating whether this option is hidden from the help text.
Initializes a new instance of the class.
The option template.
Specifies what type to use as a pair deconstructor for
the property this attribute is bound to.
Gets the that represents the type of the
pair deconstructor class to use for data conversion for the
object this attribute is bound to.
Initializes a new instance of the class.
A System.Type that represents the type of the pair deconstructor
class to use for data conversion for the object this attribute is bound to.
A base class attribute used for parameter validation.
Gets the validation error message.
The validation error message.
Initializes a new instance of the class.
The validation error message.
Validates the parameter value.
The parameter context.
The validation result.
A base class attribute used for parameter completion.
Gets a value for the parameter.
The parameter context.
The resulting value.
true if a value was provided; otherwise, false.
Base class for an asynchronous command with no settings.
Executes the command.
The command context.
An integer indicating whether or not the command executed successfully.
Base class for an asynchronous command.
The settings type.
Validates the specified settings and remaining arguments.
The command context.
The settings.
The validation result.
Executes the command.
The command context.
The settings.
An integer indicating whether or not the command executed successfully.
Represents case sensitivity.
Nothing is case sensitive.
Long options are case sensitive.
Commands are case sensitive.
Everything is case sensitive.
Base class for a command without settings.
Executes the command.
The command context.
An integer indicating whether or not the command executed successfully.
The entry point for a command line application.
Initializes a new instance of the class.
The registrar.
Configures the command line application.
The configuration.
Sets the default command.
The command type.
A that can be used to configure the default command.
Runs the command line application with specified arguments.
The arguments.
The exit code from the executed command.
Runs the command line application with specified arguments.
The arguments.
The exit code from the executed command.
Represents errors that occur during application execution.
Gets the pretty formatted exception message.
The entry point for a command line application with a default command.
The type of the default command.
Initializes a new instance of the class.
The registrar.
Configures the command line application.
The configuration.
Runs the command line application with specified arguments.
The arguments.
The exit code from the executed command.
Runs the command line application with specified arguments.
The arguments.
The exit code from the executed command.
Sets the description of the default command.
The default command description.
The same instance so that multiple calls can be chained.
Sets data that will be passed to the command via the .
The data to pass to the default command.
The same instance so that multiple calls can be chained.
Represents errors that occur during configuration.
Represents a command context.
Gets the remaining arguments.
The remaining arguments.
Gets all the arguments that were passed to the application.
Gets the name of the command.
The name of the command.
Gets the data that was passed to the command during registration (if any).
The command data.
Initializes a new instance of the class.
All arguments that were passed to the application.
The remaining arguments.
The command name.
The command data.
Base class for a command.
The settings type.
Validates the specified settings and remaining arguments.
The command context.
The settings.
The validation result.
Executes the command.
The command context.
The settings.
An integer indicating whether or not the command executed successfully.
Represents a context for related operations.
Gets the parameter.
Gets the type resolver.
Gets tje parameter value.
Initializes a new instance of the class.
The parameter.
The type resolver.
The parameter value.
Represents errors that occur during parsing.
Represents errors that occur during runtime.
Base class for command settings.
Performs validation of the settings.
The validation result.
Represents errors related to parameter templates.
Gets the template that contains the error.
Contains extensions for
and .
Sets the help provider for the application.
The configurator.
The help provider to use.
A configurator that can be used to configure the application further.
Sets the help provider for the application.
The configurator.
The type of the help provider to instantiate at runtime and use.
A configurator that can be used to configure the application further.
Sets the culture for the application.
The configurator.
The culture.
A configurator that can be used to configure the application further.
Text displayed by can be localised, but defaults to English.
Setting the application culture informs the resource manager which culture to use when fetching strings.
English will be used when a culture has not been specified
or a string has not been localised for the specified culture.
Sets the name of the application.
The configurator.
The name of the application.
A configurator that can be used to configure the application further.
Sets the version of the application.
The configurator.
The version of application.
A configurator that can be used to configure the application further.
Uses the version retrieved from the
as the application's version.
The configurator.
A configurator that can be used to configure the application further.
Hides the DEFAULT column that lists default values coming from the
in the options help text.
The configurator.
A configurator that can be used to configure the application further.
Configures the console.
The configurator.
The console.
A configurator that can be used to configure the application further.
Sets the parsing mode to strict.
The configurator.
A configurator that can be used to configure the application further.
Tells the help provider whether or not to trim trailing period.
The configurator.
True to trim trailing period (default), false to not.
A configurator that can be used to configure the application further.
Tells the command line application to propagate all
exceptions to the user.
The configurator.
A configurator that can be used to configure the application further.
Configures case sensitivity.
The configuration.
The case sensitivity.
A configurator that can be used to configure the application further.
Tells the command line application to validate all
examples before running the application.
The configurator.
A configurator that can be used to configure the application further.
Sets the command interceptor to be used.
The configurator.
A .
A configurator that can be used to configure the application further.
Adds a command branch.
The configurator.
The name of the command branch.
The command branch configuration.
A branch configurator that can be used to configure the branch further.
Adds a command branch.
The command setting type.
The configurator.
The name of the command branch.
The command branch configuration.
A branch configurator that can be used to configure the branch further.
Adds a command without settings that executes a delegate.
The configurator.
The name of the command.
The delegate to execute as part of command execution.
A command configurator that can be used to configure the command further.
Adds a command without settings that executes an async delegate.
The configurator.
The name of the command.
The delegate to execute as part of command execution.
A command configurator that can be used to configure the command further.
Adds a command without settings that executes a delegate.
The command setting type.
The configurator.
The name of the command.
The delegate to execute as part of command execution.
A command configurator that can be used to configure the command further.
Adds a command without settings that executes an async delegate.
The command setting type.
The configurator.
The name of the command.
The delegate to execute as part of command execution.
A command configurator that can be used to configure the command further.
Sets the ExceptionsHandler.
Setting this way will use the
default exit code of -1.
The configurator.
The Action that handles the exception.
A configurator that can be used to configure the application further.
Sets the ExceptionsHandler.
The configurator.
The Action that handles the exception.
A configurator that can be used to configure the application further.
Represents empty settings.
Implementation of a flag with an optional value.
The flag's element type.
Gets or sets a value indicating whether or not the flag was set or not.
Gets or sets the flag's value.
The help provider for Spectre.Console.
Other IHelpProvider implementations can be injected into the CommandApp, if desired.
Gets a value indicating how many examples from direct children to show in the help text.
Gets a value indicating whether any default values for command options are shown in the help text.
Gets a value indicating whether a trailing period of a description is trimmed in the help text.
Gets a value indicating whether to emit the markup styles, inline, when rendering the help text.
Useful for unit testing different styling of the same help text.
Initializes a new instance of the class.
The command line application settings used for configuration.
Gets the header for the help information.
The command model to write help for.
The command for which to write help information (optional).
An enumerable collection of objects.
Gets the description section of the help information.
The command model to write help for.
The command for which to write help information (optional).
An enumerable collection of objects.
Gets the usage section of the help information.
The command model to write help for.
The command for which to write help information (optional).
An enumerable collection of objects.
Gets the examples section of the help information.
The command model to write help for.
The command for which to write help information (optional).
An enumerable collection of objects.
Examples from the command's direct children are used
if no examples have been set on the specified command or model.
Gets the arguments section of the help information.
The command model to write help for.
The command for which to write help information (optional).
An enumerable collection of objects.
Gets the options section of the help information.
The command model to write help for.
The command for which to write help information (optional).
An enumerable collection of objects.
Gets the commands section of the help information.
The command model to write help for.
The command for which to write help information (optional).
An enumerable collection of objects.
Gets the footer for the help information.
The command model to write help for.
The command for which to write help information (optional).
An enumerable collection of objects.
A strongly-typed resource class, for looking up localized strings, etc.
Gets the localised string for ARGUMENTS.
Gets the localised string for COMMAND.
Gets the localised string for COMMANDS.
Gets the localised string for DEFAULT.
Gets the localised string for DESCRIPTION.
Gets the localised string for EXAMPLES.
Gets the localised string for OPTIONS.
Gets the localised string for Prints help information.
Gets the localised string for Prints version information.
Gets the localised string for USAGE.
Styles for the HelpProvider to use when rendering help text.
Gets or sets the style for describing the purpose or details of a command.
Gets or sets the style for specifying the usage format of a command.
Gets or sets the style for providing examples of command usage.
Gets or sets the style for specifying arguments in a command.
Gets or sets the style for specifying options or flags in a command.
Gets or sets the style for specifying subcommands or nested commands.
Gets the default HelpProvider styles.
Defines styles for describing the purpose or details of a command.
Gets or sets the style for the header in the description.
Defines styles for specifying the usage format of a command.
Gets or sets the style for the header in the usage.
Gets or sets the style for the current command in the usage.
Gets or sets the style for general commands in the usage.
Gets or sets the style for options in the usage.
Gets or sets the style for required arguments in the usage.
Gets or sets the style for optional arguments in the usage.
Defines styles for providing examples of command usage.
Gets or sets the style for the header in the examples.
Gets or sets the style for arguments in the examples.
Defines styles for specifying arguments in a command.
Gets or sets the style for the header in the arguments.
Gets or sets the style for required arguments.
Gets or sets the style for optional arguments.
Defines styles for specifying subcommands or nested commands.
Gets or sets the style for the header in the command section.
Gets or sets the style for child commands in the command section.
Gets or sets the style for required arguments in the command section.
Defines styles for specifying options or flags in a command.
Gets or sets the style for the header in the options.
Gets or sets the style for the header of default values in the options.
Gets or sets the style for default values in the options.
Gets or sets the style for required options.
Gets or sets the style for optional options.
Represents a command argument.
Gets the value of the argument.
Gets the position of the argument.
Represents a command container.
Gets all the examples for the container.
Gets all commands in the container.
Gets the default command for the container.
Returns null if a default command has not been set.
Represents an executable command.
Gets the name of the command.
Gets the description of the command.
Gets a value indicating whether the command is a branch.
Gets a value indicating whether the command is the default command within its container.
Gets a value indicating whether the command is hidden.
Gets the parameters associated with the command.
Gets the parent command, if any.
Walks up the command.Parent tree, adding each command into a list as it goes.
The first command added to the list is the current (ie. this one).
The list of commands from current to root, as traversed by .
Represents a command model.
Gets the name of the application.
Gets the version of the application.
Represents a command option.
Gets the long names of the option.
Gets the short names of the option.
Gets the value name of the option, if applicable.
Gets a value indicating whether the option value is optional.
Represents a command parameter.
Gets a value indicating whether the parameter is a flag.
Gets a value indicating whether the parameter is required.
Gets the description of the parameter.
Gets the default value of the parameter, if specified.
Gets a value indicating whether the parameter is hidden.
The help provider interface for Spectre.Console.
Implementations of this interface are responsbile
for writing command help to the terminal when the
`-h` or `--help` has been specified on the command line.
Writes help information for the application.
The command model to write help for.
The command for which to write help information (optional).
An enumerable collection of objects representing the help information.
Represents a branch configurator.
Adds an alias (an alternative name) to the branch being configured.
The alias to add to the branch being configured.
The same instance so that multiple calls can be chained.
Represents a command.
Validates the specified settings and remaining arguments.
The command context.
The settings.
The validation result.
Executes the command.
The command context.
The settings.
The validation result.
Represents a command line application.
Configures the command line application.
The configuration.
Runs the command line application with specified arguments.
The arguments.
The exit code from the executed command.
Runs the command line application with specified arguments.
The arguments.
The exit code from the executed command.
Represents a command line application settings.
Gets or sets the culture.
Text displayed by can be localised, but defaults to English.
Setting this property informs the resource manager which culture to use when fetching strings.
English will be used when a culture has not been specified (ie. this property is null)
or a string has not been localised for the specified culture.
Gets or sets the application name.
Gets or sets the application version (use it to override auto-detected value).
Gets or sets a value indicating how many examples from direct children to show in the help text.
Gets or sets a value indicating whether any default values for command options are shown in the help text.
Gets or sets a value indicating whether a trailing period of a description is trimmed in the help text.
Gets or sets the styles to used when rendering the help text.
Gets or sets the .
Gets or sets the used
to intercept settings before it's being sent to the command.
Gets the type registrar.
Gets or sets case sensitivity.
Gets or sets a value indicating whether or not parsing is strict.
Gets or sets a value indicating whether or not flags found on the command line
that would normally result in a being thrown
during parsing with the message "Flags cannot be assigned a value."
should instead be added to the remaining arguments collection.
Gets or sets a value indicating whether or not exceptions should be propagated.
Setting this to true will disable default Exception handling and
any , if set.
Gets or sets a value indicating whether or not examples should be validated.
Gets or sets a handler for Exceptions.
This handler will not be called, if is set to true.
The argument will only be not-null, when the exception occurs during execution of
a command. I.e. only when the resolver is available.
Represents a command configurator.
Adds an example of how to use the command.
The example arguments.
The same instance so that multiple calls can be chained.
Adds an alias (an alternative name) to the command being configured.
The alias to add to the command being configured.
The same instance so that multiple calls can be chained.
Sets the description of the command.
The command description.
The same instance so that multiple calls can be chained.
Sets data that will be passed to the command via the .
The data to pass to the command.
The same instance so that multiple calls can be chained.
Marks the command as hidden.
Hidden commands do not show up in help documentation or
generated XML models.
The same instance so that multiple calls can be chained.
Represents a command settings interceptor that
will intercept command settings before it's
passed to a command.
Intercepts command information before it's passed to a command.
The intercepted .
The intercepted .
Intercepts a command result before it's passed as the result.
The intercepted .
The intercepted .
The result from the command execution.
Represents a command limiter.
The type of the settings to limit to.
Represents a command.
The settings type.
Executes the command.
The command context.
The settings.
An integer indicating whether or not the command executed successfully.
Represents a command parameter.
Gets the property name.
The property name.
Gets the parameter type.
Gets the description.
The description.
Represents a configurator.
Sets the help provider for the application.
The help provider to use.
A configurator that can be used for further configuration.
Sets the help provider for the application.
The type of the help provider to instantiate at runtime and use.
A configurator that can be used for further configuration.
Gets the command app settings.
Adds an example of how to use the application.
The example arguments.
A configurator that can be used for further configuration.
Adds a command.
The command type.
The name of the command.
A command configurator that can be used to configure the command further.
Adds a command that executes a delegate.
The command setting type.
The name of the command.
The delegate to execute as part of command execution.
A command configurator that can be used to configure the command further.
Adds a command that executes an async delegate.
The command setting type.
The name of the command.
The delegate to execute as part of command execution.
A command configurator that can be used to configure the command further.
Adds a command branch.
The command setting type.
The name of the command branch.
The command branch configurator.
A branch configurator that can be used to configure the branch further.
Represents a configurator for specific settings.
The command setting type.
Sets the description of the branch.
The description of the branch.
Adds an example of how to use the branch.
The example arguments.
Adds a default command.
This is the command that will run if the user doesn't specify one on the command line.
It must be able to execute successfully by itself ie. without requiring any command line
arguments, flags or option values.
The default command type.
Marks the branch as hidden.
Hidden branches do not show up in help documentation or
generated XML models.
Adds a command.
The command type.
The name of the command.
A command configurator that can be used to configure the command further.
Adds a command that executes a delegate.
The derived command setting type.
The name of the command.
The delegate to execute as part of command execution.
A command configurator that can be used to configure the command further.
Adds a command that executes an async delegate.
The derived command setting type.
The name of the command.
The delegate to execute as part of command execution.
A command configurator that can be used to configure the command further.
Adds a command branch.
The derived command setting type.
The name of the command branch.
The command branch configuration.
A branch configurator that can be used to configure the branch further.
Represents a flag with an optional value.
Gets or sets a value indicating whether or not the flag was set or not.
Gets the flag's element type.
Gets or sets the flag's value.
Convert inputs using the given and fallback to finding a constructor taking a single argument of the input type.
Representation of a multi map.
Adds a key and a value to the multi map.
The pair to add.
Parse the command line arguments using the specified and ,
returning the parser and tokenizer results.
The parser and tokenizer results as a tuple.
Whether to emit the markup styles, inline, when rendering the content.
Fluent configurator for the default command.
Sets the description of the default command.
The default command description.
The same instance so that multiple calls can be chained.
Sets data that will be passed to the command via the .
The data to pass to the default command.
The same instance so that multiple calls can be chained.
Represents a configuration.
Gets the configured commands.
Gets the settings for the configuration.
Gets the default command for the configuration.
Gets all examples for the configuration.
Represents a pair deconstructor.
Deconstructs the specified value into its components.
The type resolver to use.
The key type.
The value type.
The value to deconstruct.
A deconstructed value.
Gets the name of the application.
If the provided is not null or empty,
it is returned. Otherwise the name of the current application
is determined based on the executable file's name.
The optional name of the application.
The name of the application, or a default value of "?" if no valid application name can be determined.
Represents a command container.
Gets all commands in the container.
Gets the default command for the container.
Returns null if a default command has not been set.
Gets or sets a value indicating whether a separater was encountered immediately before the .
Represents the remaining arguments.
Gets the parsed remaining arguments.
Gets the raw, non-parsed remaining arguments.
This is normally everything after the `--` delimiter.
Represents a type registrar.
Registers the specified service.
The service.
The implementation.
Registers the specified instance.
The service.
The implementation.
Registers the specified instance lazily.
The service.
The factory that creates the implementation.
Builds the type resolver representing the registrations
specified in the current instance.
A type resolver.
Represents a user friendly frontend for a .
Registers the type with the type registrar as a singleton.
The exposed service type.
The implementing type.
Registers the specified instance with the type registrar as a singleton.
The type of the instance.
The instance to register.
Registers the specified instance with the type registrar as a singleton.
The exposed service type.
implementing type.
The instance to register.
Represents a type resolver.
Resolves an instance of the specified type.
The type to resolve.
An instance of the specified type, or null if no registration for the specified type exists.
Base class for a pair deconstructor.
The key type.
The value type.
Deconstructs the provided into a pair.
The string to deconstruct into a pair.
The deconstructed pair.
Base class for a pair deconstructor.
The key type.
The value type.
This class is misspelled, use instead.
A strongly-typed resource class, for looking up localized strings, etc.
Returns the cached ResourceManager instance used by this class.
Overrides the current thread's CurrentUICulture property for all
resource lookups using this strongly typed resource class.
Looks up a localized string similar to ARGUMENTS.
Looks up a localized string similar to COMMAND.
Looks up a localized string similar to COMMANDS.
Looks up a localized string similar to DEFAULT.
Looks up a localized string similar to DESCRIPTION.
Looks up a localized string similar to EXAMPLES.
Looks up a localized string similar to OPTIONS.
Looks up a localized string similar to Prints help information..
Looks up a localized string similar to Prints version information..
Looks up a localized string similar to USAGE.
Represents an unsafe configurator for a branch.
Sets the description of the branch.
The description of the branch.
Adds an example of how to use the branch.
The example arguments.
Represents an unsafe configurator.
Adds a command.
The name of the command.
The command type.
A command configurator that can be used to configure the command further.
Adds a command branch.
The name of the command branch.
The command setting type.
The command branch configurator.
A branch configurator that can be used to configure the branch further.
Contains unsafe extensions for .
Gets an that allows
composition of commands without type safety.
The configurator.
An .
Converts an to
a configurator with type safety.
The configurator.
An .
Gets an that allows
composition of commands without type safety.
The command settings.
The configurator.
An .
Converts an to
a configurator with type safety.
The command settings.
The configurator.
An .
Specifies that null is allowed as an input even if the corresponding type disallows it.
Indicates that the specified method parameter expects a constant.
This can be used to inform tooling that a constant should be used as an argument for the annotated parameter.
Indicates the minimum bound of the expected constant, inclusive.
Indicates the maximum bound of the expected constant, inclusive.
Specifies that null is disallowed as an input even if the corresponding type allows it.
Applied to a method that will never return under any circumstance.
Specifies that the method will not return if the associated Boolean parameter is passed the specified value.
Initializes the attribute with the specified parameter value.
The condition parameter value. Code after the method will be considered unreachable
by diagnostics if the argument to the associated parameter matches this value.
Gets the condition parameter value.
Indicates that an API is experimental and it may change in the future.
This attribute allows call sites to be flagged with a diagnostic that indicates that an experimental
feature is used. Authors can use this attribute to ship preview features in their assemblies.
Initializes a new instance of the class,
specifying the ID that the compiler will use when reporting a use of the API the attribute applies to.
The ID that the compiler will use when reporting a use of the API the attribute applies to.
Gets the ID that the compiler will use when reporting a use of the API the attribute applies to.
The unique diagnostic ID.
The diagnostic ID is shown in build output for warnings and errors.
This property represents the unique ID that can be used to suppress the warnings or errors, if needed.
Gets or sets the URL for corresponding documentation.
The API accepts a format string instead of an actual URL, creating a generic URL that includes the diagnostic ID.
The format string that represents a URL to corresponding documentation.
An example format string is https://contoso.com/obsoletion-warnings/{0}.
Specifies that an output may be null even if the corresponding type disallows it.
Specifies that when a method returns , the parameter may be null even if the corresponding type disallows it.
Initializes the attribute with the specified return value condition.
The return value condition. If the method returns this value, the associated parameter may be null.
Gets the return value condition.
Specifies that the method or property will ensure that the listed field and property members have not-null values.
Initializes the attribute with a field or property member.
The field or property member that is promised to be not-null.
Initializes the attribute with the list of field and property members.
The list of field and property members that are promised to be not-null.
Gets field or property member names.
Specifies that the method or property will ensure that the listed field and property
members have not-null values when returning with the specified return value condition.
Initializes the attribute with the specified return value condition and a field or property member.
The return value condition. If the method returns this value, the associated parameter will not be null.
The field or property member that is promised to be not-null.
Initializes the attribute with the specified return value condition and list of field and property members.
The return value condition. If the method returns this value, the associated parameter will not be null.
The list of field and property members that are promised to be not-null.
Gets the return value condition.
Gets field or property member names.
Specifies that an output will not be null even if the corresponding type allows it.
Specifies that an input argument was not null when the call returns.
Specifies that the output will be non-null if the named parameter is non-null.
Initializes the attribute with the associated parameter name.
The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null.
Gets the associated parameter name.
Specifies that when a method returns , the parameter will not be null even if the corresponding type allows it.
Initializes the attribute with the specified return value condition.
The return value condition. If the method returns this value, the associated parameter will not be null.
Gets the return value condition.
Specifies that this constructor sets all required members for the current type,
and callers do not need to set any required members themselves.
Specifies the syntax used in a string.
Initializes the with the identifier of the syntax used.
The syntax identifier.
Initializes the with the identifier of the syntax used.
The syntax identifier.
Optional arguments associated with the specific syntax employed.
Gets the identifier of the syntax used.
Optional arguments associated with the specific syntax employed.
The syntax identifier for strings containing composite formats for string formatting.
The syntax identifier for strings containing date format specifiers.
The syntax identifier for strings containing date and time format specifiers.
The syntax identifier for strings containing format specifiers.
The syntax identifier for strings containing format specifiers.
The syntax identifier for strings containing JavaScript Object Notation (JSON).
The syntax identifier for strings containing numeric format specifiers.
The syntax identifier for strings containing regular expressions.
The syntax identifier for strings containing time format specifiers.
The syntax identifier for strings containing format specifiers.
The syntax identifier for strings containing URIs.
The syntax identifier for strings containing XML.
Used to indicate a byref escapes and is not scoped.
There are several cases where the C# compiler treats a as implicitly
- where the compiler does not allow the to escape the method.
For example:
- for instance methods.
- parameters that refer to types.
- parameters.
This attribute is used in those instances where the should be allowed to escape.
Applying this attribute, in any form, has impact on consumers of the applicable API. It is necessary for
API authors to understand the lifetime implications of applying this attribute and how it may impact their users.
Represent a type can be used to index a collection either from the start or the end.
Index is used by the C# compiler to support the new index syntax
int[] someArray = new int[5] { 1, 2, 3, 4, 5 } ;
int lastElement = someArray[^1]; // lastElement = 5
Construct an Index using a value and indicating if the index is from the start or from the end.
The index value. it has to be zero or positive number.
Indicating if the index is from the start or from the end.
If the Index constructed from the end, index value 1 means pointing at the last element and index value 0 means pointing at beyond last element.
Create an Index pointing at first element.
Create an Index pointing at beyond last element.
Create an Index from the start at the position indicated by the value.
The index value from the start.
Create an Index from the end at the position indicated by the value.
The index value from the end.
Returns the index value.
Indicates whether the index is from the start or the end.
Calculate the offset from the start using the giving collection length.
The length of the collection that the Index will be used with. length has to be a positive value
For performance reason, we don't validate the input length parameter and the returned offset value against negative values.
we don't validate either the returned offset is greater than the input length.
It is expected Index will be used with collections which always have non negative length/count. If the returned offset is negative and
then used to index a collection will get out of range exception which will be same affect as the validation.
Indicates whether the current Index object is equal to another object of the same type.
An object to compare with this object
Indicates whether the current Index object is equal to another Index object.
An object to compare with this object
Returns the hash code for this instance.
Converts integer number to an Index.
Converts the value of the current Index object to its equivalent string representation.
Represent a range has start and end indexes.
Range is used by the C# compiler to support the range syntax.
int[] someArray = new int[5] { 1, 2, 3, 4, 5 };
int[] subArray1 = someArray[0..2]; // { 1, 2 }
int[] subArray2 = someArray[1..^0]; // { 2, 3, 4, 5 }
Represent the inclusive start index of the Range.
Represent the exclusive end index of the Range.
Construct a Range object using the start and end indexes.
Represent the inclusive start index of the range.
Represent the exclusive end index of the range.
Indicates whether the current Range object is equal to another object of the same type.
An object to compare with this object
Indicates whether the current Range object is equal to another Range object.
An object to compare with this object
Returns the hash code for this instance.
Converts the value of the current Range object to its equivalent string representation.
Create a Range object starting from start index to the end of the collection.
Create a Range object starting from first element in the collection to the end Index.
Create a Range object starting from first element to the end.
Calculate the start offset and length of range object using a collection length.
The length of the collection that the range will be used with. length has to be a positive value.
For performance reason, we don't validate the input length parameter against negative values.
It is expected Range will be used with collections which always have non negative length/count.
We validate the range is inside the length scope though.
Indicates the type of the async method builder that should be used by a language compiler to
build the attributed async method or to build the attributed type when used as the return type
of an async method.
Initializes the .
The of the associated builder.
Gets the of the associated builder.
An attribute that allows parameters to receive the expression of other parameters.
Initializes a new instance of the class.
The condition parameter value.
Gets the parameter name the expression is retrieved from.
Initialize the attribute to refer to the method on the type.
The type of the builder to use to construct the collection.
The name of the method on the builder to use to construct the collection.
must refer to a static method that accepts a single parameter of
type and returns an instance of the collection being built containing
a copy of the data from that span. In future releases of .NET, additional patterns may be supported.
Gets the type of the builder to use to construct the collection.
Gets the name of the method on the builder to use to construct the collection.
This should match the metadata name of the target method.
For example, this might be ".ctor" if targeting the type's constructor.
Indicates that compiler support for a particular feature is required for the location where this attribute is applied.
Creates a new instance of the type.
The name of the feature to indicate.
The name of the compiler feature.
If true, the compiler can choose to allow access to the location where this attribute is applied if it does not understand .
The used for the ref structs C# feature.
The used for the required members C# feature.
Indicates which arguments to a method involving an interpolated string handler should be passed to that handler.
Initializes a new instance of the class.
The name of the argument that should be passed to the handler.
may be used as the name of the receiver in an instance method.
Initializes a new instance of the class.
The names of the arguments that should be passed to the handler.
may be used as the name of the receiver in an instance method.
Gets the names of the arguments that should be passed to the handler.
may be used as the name of the receiver in an instance method.
Indicates the attributed type is to be used as an interpolated string handler.
Reserved to be used by the compiler for tracking metadata.
This class should not be used by developers in source code.
Used to indicate to the compiler that a method should be called
in its containing module's initializer.
When one or more valid methods
with this attribute are found in a compilation, the compiler will
emit a module initializer which calls each of the attributed methods.
Certain requirements are imposed on any method targeted with this attribute:
- The method must be `static`.
- The method must be an ordinary member method, as opposed to a property accessor, constructor, local function, etc.
- The method must be parameterless.
- The method must return `void`.
- The method must not be generic or be contained in a generic type.
- The method's effective accessibility must be `internal` or `public`.
The specification for module initializers in the .NET runtime can be found here:
https://github.com/dotnet/runtime/blob/main/docs/design/specs/Ecma-335-Augments.md#module-initializer
Specifies the priority of a member in overload resolution. When unspecified, the default priority is 0.
Initializes a new instance of the class.
The priority of the attributed member. Higher numbers are prioritized, lower numbers are deprioritized. 0 is the default if no attribute is present.
The priority of the member.
Indicates that a method will allow a variable number of arguments in its invocation.
Specifies that a type has required members or that a member is required.
Reserved for use by a compiler for tracking metadata.
This attribute should not be used by developers in source code.
Used to indicate to the compiler that the .locals init flag should not be set in method headers.
Initializes a new instance of the class.
Initializes a new instance of the class with the specified message.
An optional message associated with this attribute instance.
Returns the optional message associated with this attribute instance.
Returns the optional URL associated with this attribute instance.