diff --git a/releases/1.7.1.1/net40/SmartFormat.dll b/releases/1.7.1.1/net40/SmartFormat.dll new file mode 100644 index 00000000..497374c5 Binary files /dev/null and b/releases/1.7.1.1/net40/SmartFormat.dll differ diff --git a/releases/1.7.1.1/net40/SmartFormat.pdb b/releases/1.7.1.1/net40/SmartFormat.pdb new file mode 100644 index 00000000..3cb8aede Binary files /dev/null and b/releases/1.7.1.1/net40/SmartFormat.pdb differ diff --git a/releases/1.7.1.1/net40/SmartFormat.xml b/releases/1.7.1.1/net40/SmartFormat.xml new file mode 100644 index 00000000..29ea4225 --- /dev/null +++ b/releases/1.7.1.1/net40/SmartFormat.xml @@ -0,0 +1,1001 @@ + + + + SmartFormat + + + + + Caches information about a format operation + so that repeat calls can be optimized to run faster. + + + + + Caches the parsed format. + + + + + Storage for any misc objects. + This can be used by extensions that want to cache data, + such as reflection information. + + + + + Contains extra information about the item currently being formatted. + These objects are not often used, so they are all wrapped up here. + + + + + The original formatter responsible for formatting this item. + It can be used for evaluating nested formats. + + + + + The original set of arguments passed to the format function. + These provide global-access to the original arguments. + + + + + This object can be used to cache resources between formatting calls. + It will be null unless FormatWithCache is called. + + + + + The Format Provider that can be used to determine how to + format items such as numbers, dates, and anything else that + might be culture-specific. + + + + + If ErrorAction is set to OutputErrorsInResult, this will + contain the exception that caused the formatting error. + + + + + Contains case-sensitivity settings + + + + + An exception caused while attempting to output the format. + + + + + Contains all necessary info for formatting a value + + + In "{Items.Length:choose(1,2,3):one|two|three}", + the would be the value of "Items.Length", + the would be "1,2,3", + and the would be "one|two|three". + + + + + The current value that is to be formatted. + + + + + This format specifies how to output the . + + + + + Contains all the details about the current placeholder. + + + + + Alignment inserts spaces into the output to ensure consistent length. + + Positive numbers insert spaces to the left, to right-align the text. + Negative numbers insert spaces to the right, to left-align the text. + + This should only work with the Default Formatter, but is optional with custom formatters. + + This is primarily for compatibility with String.Format. + + + + + When a named formatter is used, this will hold the options. + + For example, in "{0:choose(1,2,3):one|two|three}", FormatterOptions is "1,2,3". + + + + + Writes a string to the output. + + + + + Writes a substring to the output. + + + + + Writes the nested format to the output. + + + + + Infrequently used details, often used for debugging + + + + + Creates a associated with the . + + + + + Contains all the necessary information for evaluating a selector. + + + When evaluating "{Items.Length}", + the CurrentValue might be Items, and the Selector would be "Length". + The job of an ISource is to set CurrentValue to Items.Length. + + + + + The current value to evaluate. + + + + + The selector to evaluate + + + + + The index of the selector in a multi-part selector. + Example: {Person.Birthday.Year} has 3 seletors, + and Year has a SelectorIndex of 2. + + + + + The operator that came before the selector; typically "." + + + + + Sets the result of evaluating the selector. + + + + + Contains all the details about the current placeholder. + + + + + Infrequently used details, often used for debugging + + + + Converts an object to a string. + + + + An extension can be explicitly called by using any of its names. + + Any extensions with "" names will be called implicitly (when no named formatter is specified). + + For example, "{0:default:N2}" or "{0:d:N2}" will explicitly call the "default" extension. + "{0:N2}" will implicitly call the "default" extension (and other extensions, too). + + + + + Writes the current value to the output, using the specified format. + + IF this extension cannot write the value, returns false, otherwise true. + + + + + Evaluates a selector. + + + + + Evaluates the based on the . + + If this extension cannot evaluate the Selector, returns False. + Otherwise, sets the and returns true. + + + + + + Supplies information about parsing errors. + + + + + Raw ext part which caused an error. + + + + + Location where the error started. + + + + + Location where the error ended. + + + + + ParseError category. + + + + + Information whether error will throw an exception. + + + + + Gets the string representation of the ParsingError enum. + + The string representation of the ParsingError enum. + + + + Represents parsing errors in a Format string. + This exception only gets thrown when Parser.ErrorAction is set to ThrowError. + + + + + Represents a single selector + in the text in a + that comes before the colon. + + + + + The index of the selector in a multi-part selector. + Example: {Person.Birthday.Year} has 3 seletors, + and Year has a SelectorIndex of 2. + + + + + Keeps track of where the "operators" started for this item. + + + + + The operator that came before the selector; typically "." + + + + + Represents the literal text that is found + in a parsed format string. + + + + + Represents a parsed format string. + Contains a list of s, + including s + and s. + + + + Returns a substring of the current Format. + + + Returns a substring of the current Format. + + + + Searches the literal text for the search char. + Does not search in nested placeholders. + + + + + + Searches the literal text for the search char. + Does not search in nested placeholders. + + + + + + + Contains the results of a Split operation. + This allows deferred splitting of items. + + + + + Retrieves the literal text contained in this format. + Excludes escaped chars, and does not include the text + of placeholders + + + + + + Reconstructs the format string, but doesn't include escaped chars + and tries to reconstruct placeholders. + + + + + Base class that represents a substring + of text from a parsed format string. + + + + + Retrieves the raw text that this item represents. + + + + + Parses a format string. + + + + + If false, only digits are allowed as selectors. + If true, selectors can be alpha-numeric. + This allows optimized alpha-character detection. + Specify any additional selector chars in AllowedSelectorChars. + + + + + A list of allowable selector characters, + to support additional selector syntaxes such as math. + Digits are always included, and letters can be included + with AlphanumericSelectors. + + + + + A list of characters that come between selectors. + This can be "." for dot-notation, "[]" for arrays, + or even math symbols. + By default, there are no operators. + + + + + If false, double-curly braces are escaped. + If true, the AlternativeEscapeChar is used for escaping braces. + + + + + If AlternativeEscaping is true, then this character is + used to escape curly braces. + + + + + Includes a-z and A-Z in the list of allowed selector chars. + + + + + Adds specific characters to the allowed selector chars. + + + + + + Adds specific characters to the allowed operator chars. + An operator is a character that is in the selector string + that splits the selectors. + + + + + + Sets the AlternativeEscaping option to True + so that braces will only be escaped after the + specified character. + + + + + + [Default] + Uses {{ and }} for escaping braces for compatibility with String.Format. + However, this does not work very well with nested placeholders, + so it is recommended to use an alternative escape char. + + + + + Event raising, if an error occurs during parsing. + + + + + CTOR. + + + + + Gets the string representation of the ParsingError enum. + + + The string representation of the ParsingError enum + + + + A placeholder is the part of a format string between the { braces }. + + + For example, in "{Items.Length,10:choose(1,2,3):one|two|three}", + the s is "10", + the s are "Items" and "Length", + the is "choose", + the is "1,2,3", + and the is "one|two|three". + + + + + Determines whether placeholders are case-sensitive or not. + + + + + Determines how format errors are handled. + + + + Throws an exception. This is only recommended for debugging, so that formatting errors can be easily found. + + + Includes an issue message in the output + + + Ignores errors and tries to output the data anyway + + + Leaves invalid tokens unmodified in the text. + + + + Writes a string to the output. + + + + + Writes a string to the output. + + + + + + + Writes a substring to the output. + + + + + + + + + Wraps a StringBuilder so it can be used for output. + This is used for the default output. + + + + + Returns the results of the StringBuilder. + + + + + Wraps a TextWriter so that it can be used for output. + + + + + Supplies information about formatting errors. + + + + + Placeholder which caused an error. + + + + + Location where the error occurred. + + + + + Information whether error will throw an exception. + + + + + Initializes the plugin with rules for many common languages. + If no CultureInfo is supplied to the formatter, the + default language rules will be used by default. + + + + + Use this class to provide custom plural rules to Smart.Format + + + + + Initializes the extension with no default TimeTextInfo. + + + + + Initializes the extension with a default TimeTextInfo. + + This will be used when no CultureInfo is supplied. Can be null. + + + + Do the default formatting, same logic as "String.Format". + + + + + Performs the default index-based selector, same as String.Format. + + + + + If the source value is an array (or supports ICollection), + then each item will be custom formatted. + + + Syntax: + #1: "format|spacer" + #2: "format|spacer|last spacer" + #3: "format|spacer|last spacer|two spacer" + + The format will be used for each item in the collection, the spacer will be between all items, and the last spacer will replace the spacer for the last item only. + + Example: + CustomFormat("{Dates:D|; |; and }", {#1/1/2000#, #12/31/2999#, #9/9/9999#}) = "January 1, 2000; December 31, 2999; and September 9, 9999" + In this example, format = "D", spacer = "; ", and last spacer = "; and " + + + + Advanced: + Composite Formatting is allowed in the format by using nested braces. + If a nested item is detected, Composite formatting will be used. + + Example: + CustomFormat("{Sizes:{Width}x{Height}|, }", {new Size(4,3), new Size(16,9)}) = "4x3, 16x9" + In this example, format = "{Width}x{Height}". Notice the nested braces. + + + + + + This allows an integer to be used as a selector to index an array (or list). + + This is better described using an example: + CustomFormat("{Dates.2.Year}", {#1/1/2000#, #12/31/2999#, #9/9/9999#}) = "9999" + The ".2" selector is used to reference Dates[2]. + + + + + The key for CallContext.Logical[Get|Set]Data(). + + + + + System.Runtime.Remoting.Messaging and CallContext.Logical[Get|Set]Data + not supported by .Net Core. Instead .Net Core provides AsyncLocal<T> + + + + + Evaluates a conditional format. + + Each condition must start with a comparor: ">/>=", "</<=", "=", "!=". + Conditions must be separated by either "&" (AND) or "/" (OR). + The conditional statement must end with a "?". + + Examples: + >=21&<30&!=25/=40? + + + + + This delegate determines which singular or plural word + should be chosen for the given quantity. + + This allows each language to define its own behavior + for singular or plural words. + + It should return the index of the correct parameter. + + The value that is being referenced by the singular or plural words + + + + + Construct a ruleset for the language code. + The language code in two-letter ISO-639 format. + The pluralization rules are taken from . + + + + Returns True if the value is inclusively between the min and max and has no fraction. + + + + + This class wraps a delegate, allowing it to be used as a parameter + to any string-formatting method (such as ). + + For example: + + var textWithLink = String.Format("Please click on {0:this link}.", new FormatDelegate((text) => Html.ActionLink(text, "SomeAction")); + + + + + + Implements System.IFormattable + + + + + + + + These are the default options that will be used when no option is specified. + + + + + These are the absolute default options that will be used as + a safeguard, just in case DefaultFormatOptions is missing a value. + + + + + Turns a TimeSpan into a human-readable text. + Uses the specified timeSpanFormatOptions. + For example: "31.23:59:00.555" = "31 days 23 hours 59 minutes 0 seconds 555 milliseconds" + + + + A combination of flags that determine the formatting options. + These will be combined with the default timeSpanFormatOptions. + + An object that supplies the text to use for output + + + + Returns the largest TimeSpan less than or equal to the specified interval. + For example: Floor("00:57:00", TimeSpan.TicksPerMinute * 5) => "00:55:00" + + A TimeSpan to be rounded. + Specifies the interval for rounding. Use TimeSpan.TicksPer____. + + + + Returns the smallest TimeSpan greater than or equal to the specified interval. + For example: Ceiling("00:57:00", TimeSpan.TicksPerMinute * 5) => "01:00:00" + + A TimeSpan to be rounded. + Specifies the interval for rounding. Use TimeSpan.TicksPer____. + + + + Returns the TimeSpan closest to the specified interval. + For example: Round("00:57:00", TimeSpan.TicksPerMinute * 5) => "00:55:00" + + A TimeSpan to be rounded. + Specifies the interval for rounding. Use TimeSpan.TicksPer____. + + + + Determines all options for time formatting. + This one value actually contains 4 settings: + Abbreviate / AbbreviateOff + LessThan / LessThanOff + Truncate   Auto / Shortest / Fill / Full + Range   MilliSeconds / Seconds / Minutes / Hours / Days / Weeks (Min / Max) + + + + + Specifies that all timeSpanFormatOptions should be inherited from TimeSpanUtility.DefaultTimeFormatOptions. + + + + + Abbreviates units. + Example: "1d 2h 3m 4s 5ms" + + + + + Does not abbreviate units. + Example: "1 day 2 hours 3 minutes 4 seconds 5 milliseconds" + + + + + Displays "less than 1 (unit)" when the TimeSpan is smaller than the minimum range. + + + + + Displays "0 (units)" when the TimeSpan is smaller than the minimum range. + + + + + Displays the highest non-zero value within the range. + Example: "00.23:00:59.000" = "23 hours" + + + + + Displays all non-zero values within the range. + Example: "00.23:00:59.000" = "23 hours 59 minutes" + + + + + Displays the highest non-zero value and all lesser values within the range. + Example: "00.23:00:59.000" = "23 hours 0 minutes 59 seconds 0 milliseconds" + + + + + Displays all values within the range. + Example: "00.23:00:59.000" = "0 days 23 hours 0 minutes 59 seconds 0 milliseconds" + + + + + Determines the range of units to display. + You may combine two values to form the minimum and maximum for the range. + Example: (RangeMinutes) defines a range of Minutes only; (RangeHours | RangeSeconds) defines a range of Hours to Seconds. + + + + + Determines the range of units to display. + You may combine two values to form the minimum and maximum for the range. + Example: (RangeMinutes) defines a range of Minutes only; (RangeHours | RangeSeconds) defines a range of Hours to Seconds. + + + + + Determines the range of units to display. + You may combine two values to form the minimum and maximum for the range. + Example: (RangeMinutes) defines a range of Minutes only; (RangeHours | RangeSeconds) defines a range of Hours to Seconds. + + + + + Determines the range of units to display. + You may combine two values to form the minimum and maximum for the range. + Example: (RangeMinutes) defines a range of Minutes only; (RangeHours | RangeSeconds) defines a range of Hours to Seconds. + + + + + Determines the range of units to display. + You may combine two values to form the minimum and maximum for the range. + Example: (RangeMinutes) defines a range of Minutes only; (RangeHours | RangeSeconds) defines a range of Hours to Seconds. + + + + + Determines the range of units to display. + You may combine two values to form the minimum and maximum for the range. + Example: (RangeMinutes) defines a range of Minutes only; (RangeHours | RangeSeconds) defines a range of Hours to Seconds. + + + + (for internal use only) + + + (for internal use only) + + + (for internal use only) + + + (for internal use only) + + + + Supplies the localized text used for TimeSpan formatting. + + + + Appends a formatted string, using the same semantics as Smart.Format. + The StringBuilder that will be used for output + The template that defines how the arguments are formatted + A list of arguments to be used in formatting + + + AppendLines a formatted string, using the same semantics as Smart.Format. + The StringBuilder that will be used for output + The template that defines how the arguments are formatted + A list of arguments to be used in formatting + + + Writes out a formatted string, using the same semantics as Smart.Format. + The TextWriter that will be used for output + The template that defines how the arguments are formatted + A list of arguments to be used in formatting + + + Writes out a formatted string, using the same semantics as Smart.Format. + The TextWriter that will be used for output + The template that defines how the arguments are formatted + A list of arguments to be used in formatting + + + Formats the specified arguments using this string as a template. + The template that defines how the arguments are formatted + A list of arguments to be used in formatting + + + Formats the specified arguments using this string as a template. + Caches the parsing results for increased performance. + + The template that defines how the arguments are formatted + A list of arguments to be used in formatting + Outputs an object that increases performance if the same format string is used repeatedly. + + + + This class holds a Default instance of the SmartFormatter. + The default instance has all extensions registered. + + + + + This class contains the Format method that constructs + the composite string by invoking each extension. + + + + + Gets the list of source extensions. + + + + + Gets the list of formatter extensions. + + + + + Gets all names of registered formatter extensions which are not empty. + + + + + + Adds each extensions to this formatter. + Each extension must implement ISource. + + + + + + Adds each extensions to this formatter. + Each extension must implement IFormatter. + + + + + + Searches for a Source Extension of the given type, and returns it. + This can be used to easily find and configure extensions. + Returns null if the type cannot be found. + + + + + + + Searches for a Formatter Extension of the given type, and returns it. + This can be used to easily find and configure extensions. + Returns null if the type cannot be found. + + + + + + + Gets or set the instance of the + + + + + Gets or set the for the formatter. + + + + + Get the for the formatter. + + + + + Replaces one or more format items in as specified string with the string representation of a specific object. + + A composite format string. + The object to format. + Returns the formated input with items replaced with their string representation. + + + + Replaces one or more format items in as specified string with the string representation of a specific object. + + The to use. + A composite format string. + The object to format. + Returns the formated input with items replaced with their string representation. + + + + Event raising, if an error occurs during formatting. + + + + + Format the input given in parameter . + + + + + + Try to get a suitable formatter. + + + + + + + First check whether the named formatter name exist in of the , + next check whether the named formatter is able to process the format. + + + True if an FormatterExtension was found, else False. + + + diff --git a/releases/1.7.1.1/net45/SmartFormat.dll b/releases/1.7.1.1/net45/SmartFormat.dll new file mode 100644 index 00000000..e0b9f75a Binary files /dev/null and b/releases/1.7.1.1/net45/SmartFormat.dll differ diff --git a/releases/1.7.1.1/net45/SmartFormat.pdb b/releases/1.7.1.1/net45/SmartFormat.pdb new file mode 100644 index 00000000..2bb74ad6 Binary files /dev/null and b/releases/1.7.1.1/net45/SmartFormat.pdb differ diff --git a/releases/1.7.1.1/net45/SmartFormat.xml b/releases/1.7.1.1/net45/SmartFormat.xml new file mode 100644 index 00000000..29ea4225 --- /dev/null +++ b/releases/1.7.1.1/net45/SmartFormat.xml @@ -0,0 +1,1001 @@ + + + + SmartFormat + + + + + Caches information about a format operation + so that repeat calls can be optimized to run faster. + + + + + Caches the parsed format. + + + + + Storage for any misc objects. + This can be used by extensions that want to cache data, + such as reflection information. + + + + + Contains extra information about the item currently being formatted. + These objects are not often used, so they are all wrapped up here. + + + + + The original formatter responsible for formatting this item. + It can be used for evaluating nested formats. + + + + + The original set of arguments passed to the format function. + These provide global-access to the original arguments. + + + + + This object can be used to cache resources between formatting calls. + It will be null unless FormatWithCache is called. + + + + + The Format Provider that can be used to determine how to + format items such as numbers, dates, and anything else that + might be culture-specific. + + + + + If ErrorAction is set to OutputErrorsInResult, this will + contain the exception that caused the formatting error. + + + + + Contains case-sensitivity settings + + + + + An exception caused while attempting to output the format. + + + + + Contains all necessary info for formatting a value + + + In "{Items.Length:choose(1,2,3):one|two|three}", + the would be the value of "Items.Length", + the would be "1,2,3", + and the would be "one|two|three". + + + + + The current value that is to be formatted. + + + + + This format specifies how to output the . + + + + + Contains all the details about the current placeholder. + + + + + Alignment inserts spaces into the output to ensure consistent length. + + Positive numbers insert spaces to the left, to right-align the text. + Negative numbers insert spaces to the right, to left-align the text. + + This should only work with the Default Formatter, but is optional with custom formatters. + + This is primarily for compatibility with String.Format. + + + + + When a named formatter is used, this will hold the options. + + For example, in "{0:choose(1,2,3):one|two|three}", FormatterOptions is "1,2,3". + + + + + Writes a string to the output. + + + + + Writes a substring to the output. + + + + + Writes the nested format to the output. + + + + + Infrequently used details, often used for debugging + + + + + Creates a associated with the . + + + + + Contains all the necessary information for evaluating a selector. + + + When evaluating "{Items.Length}", + the CurrentValue might be Items, and the Selector would be "Length". + The job of an ISource is to set CurrentValue to Items.Length. + + + + + The current value to evaluate. + + + + + The selector to evaluate + + + + + The index of the selector in a multi-part selector. + Example: {Person.Birthday.Year} has 3 seletors, + and Year has a SelectorIndex of 2. + + + + + The operator that came before the selector; typically "." + + + + + Sets the result of evaluating the selector. + + + + + Contains all the details about the current placeholder. + + + + + Infrequently used details, often used for debugging + + + + Converts an object to a string. + + + + An extension can be explicitly called by using any of its names. + + Any extensions with "" names will be called implicitly (when no named formatter is specified). + + For example, "{0:default:N2}" or "{0:d:N2}" will explicitly call the "default" extension. + "{0:N2}" will implicitly call the "default" extension (and other extensions, too). + + + + + Writes the current value to the output, using the specified format. + + IF this extension cannot write the value, returns false, otherwise true. + + + + + Evaluates a selector. + + + + + Evaluates the based on the . + + If this extension cannot evaluate the Selector, returns False. + Otherwise, sets the and returns true. + + + + + + Supplies information about parsing errors. + + + + + Raw ext part which caused an error. + + + + + Location where the error started. + + + + + Location where the error ended. + + + + + ParseError category. + + + + + Information whether error will throw an exception. + + + + + Gets the string representation of the ParsingError enum. + + The string representation of the ParsingError enum. + + + + Represents parsing errors in a Format string. + This exception only gets thrown when Parser.ErrorAction is set to ThrowError. + + + + + Represents a single selector + in the text in a + that comes before the colon. + + + + + The index of the selector in a multi-part selector. + Example: {Person.Birthday.Year} has 3 seletors, + and Year has a SelectorIndex of 2. + + + + + Keeps track of where the "operators" started for this item. + + + + + The operator that came before the selector; typically "." + + + + + Represents the literal text that is found + in a parsed format string. + + + + + Represents a parsed format string. + Contains a list of s, + including s + and s. + + + + Returns a substring of the current Format. + + + Returns a substring of the current Format. + + + + Searches the literal text for the search char. + Does not search in nested placeholders. + + + + + + Searches the literal text for the search char. + Does not search in nested placeholders. + + + + + + + Contains the results of a Split operation. + This allows deferred splitting of items. + + + + + Retrieves the literal text contained in this format. + Excludes escaped chars, and does not include the text + of placeholders + + + + + + Reconstructs the format string, but doesn't include escaped chars + and tries to reconstruct placeholders. + + + + + Base class that represents a substring + of text from a parsed format string. + + + + + Retrieves the raw text that this item represents. + + + + + Parses a format string. + + + + + If false, only digits are allowed as selectors. + If true, selectors can be alpha-numeric. + This allows optimized alpha-character detection. + Specify any additional selector chars in AllowedSelectorChars. + + + + + A list of allowable selector characters, + to support additional selector syntaxes such as math. + Digits are always included, and letters can be included + with AlphanumericSelectors. + + + + + A list of characters that come between selectors. + This can be "." for dot-notation, "[]" for arrays, + or even math symbols. + By default, there are no operators. + + + + + If false, double-curly braces are escaped. + If true, the AlternativeEscapeChar is used for escaping braces. + + + + + If AlternativeEscaping is true, then this character is + used to escape curly braces. + + + + + Includes a-z and A-Z in the list of allowed selector chars. + + + + + Adds specific characters to the allowed selector chars. + + + + + + Adds specific characters to the allowed operator chars. + An operator is a character that is in the selector string + that splits the selectors. + + + + + + Sets the AlternativeEscaping option to True + so that braces will only be escaped after the + specified character. + + + + + + [Default] + Uses {{ and }} for escaping braces for compatibility with String.Format. + However, this does not work very well with nested placeholders, + so it is recommended to use an alternative escape char. + + + + + Event raising, if an error occurs during parsing. + + + + + CTOR. + + + + + Gets the string representation of the ParsingError enum. + + + The string representation of the ParsingError enum + + + + A placeholder is the part of a format string between the { braces }. + + + For example, in "{Items.Length,10:choose(1,2,3):one|two|three}", + the s is "10", + the s are "Items" and "Length", + the is "choose", + the is "1,2,3", + and the is "one|two|three". + + + + + Determines whether placeholders are case-sensitive or not. + + + + + Determines how format errors are handled. + + + + Throws an exception. This is only recommended for debugging, so that formatting errors can be easily found. + + + Includes an issue message in the output + + + Ignores errors and tries to output the data anyway + + + Leaves invalid tokens unmodified in the text. + + + + Writes a string to the output. + + + + + Writes a string to the output. + + + + + + + Writes a substring to the output. + + + + + + + + + Wraps a StringBuilder so it can be used for output. + This is used for the default output. + + + + + Returns the results of the StringBuilder. + + + + + Wraps a TextWriter so that it can be used for output. + + + + + Supplies information about formatting errors. + + + + + Placeholder which caused an error. + + + + + Location where the error occurred. + + + + + Information whether error will throw an exception. + + + + + Initializes the plugin with rules for many common languages. + If no CultureInfo is supplied to the formatter, the + default language rules will be used by default. + + + + + Use this class to provide custom plural rules to Smart.Format + + + + + Initializes the extension with no default TimeTextInfo. + + + + + Initializes the extension with a default TimeTextInfo. + + This will be used when no CultureInfo is supplied. Can be null. + + + + Do the default formatting, same logic as "String.Format". + + + + + Performs the default index-based selector, same as String.Format. + + + + + If the source value is an array (or supports ICollection), + then each item will be custom formatted. + + + Syntax: + #1: "format|spacer" + #2: "format|spacer|last spacer" + #3: "format|spacer|last spacer|two spacer" + + The format will be used for each item in the collection, the spacer will be between all items, and the last spacer will replace the spacer for the last item only. + + Example: + CustomFormat("{Dates:D|; |; and }", {#1/1/2000#, #12/31/2999#, #9/9/9999#}) = "January 1, 2000; December 31, 2999; and September 9, 9999" + In this example, format = "D", spacer = "; ", and last spacer = "; and " + + + + Advanced: + Composite Formatting is allowed in the format by using nested braces. + If a nested item is detected, Composite formatting will be used. + + Example: + CustomFormat("{Sizes:{Width}x{Height}|, }", {new Size(4,3), new Size(16,9)}) = "4x3, 16x9" + In this example, format = "{Width}x{Height}". Notice the nested braces. + + + + + + This allows an integer to be used as a selector to index an array (or list). + + This is better described using an example: + CustomFormat("{Dates.2.Year}", {#1/1/2000#, #12/31/2999#, #9/9/9999#}) = "9999" + The ".2" selector is used to reference Dates[2]. + + + + + The key for CallContext.Logical[Get|Set]Data(). + + + + + System.Runtime.Remoting.Messaging and CallContext.Logical[Get|Set]Data + not supported by .Net Core. Instead .Net Core provides AsyncLocal<T> + + + + + Evaluates a conditional format. + + Each condition must start with a comparor: ">/>=", "</<=", "=", "!=". + Conditions must be separated by either "&" (AND) or "/" (OR). + The conditional statement must end with a "?". + + Examples: + >=21&<30&!=25/=40? + + + + + This delegate determines which singular or plural word + should be chosen for the given quantity. + + This allows each language to define its own behavior + for singular or plural words. + + It should return the index of the correct parameter. + + The value that is being referenced by the singular or plural words + + + + + Construct a ruleset for the language code. + The language code in two-letter ISO-639 format. + The pluralization rules are taken from . + + + + Returns True if the value is inclusively between the min and max and has no fraction. + + + + + This class wraps a delegate, allowing it to be used as a parameter + to any string-formatting method (such as ). + + For example: + + var textWithLink = String.Format("Please click on {0:this link}.", new FormatDelegate((text) => Html.ActionLink(text, "SomeAction")); + + + + + + Implements System.IFormattable + + + + + + + + These are the default options that will be used when no option is specified. + + + + + These are the absolute default options that will be used as + a safeguard, just in case DefaultFormatOptions is missing a value. + + + + + Turns a TimeSpan into a human-readable text. + Uses the specified timeSpanFormatOptions. + For example: "31.23:59:00.555" = "31 days 23 hours 59 minutes 0 seconds 555 milliseconds" + + + + A combination of flags that determine the formatting options. + These will be combined with the default timeSpanFormatOptions. + + An object that supplies the text to use for output + + + + Returns the largest TimeSpan less than or equal to the specified interval. + For example: Floor("00:57:00", TimeSpan.TicksPerMinute * 5) => "00:55:00" + + A TimeSpan to be rounded. + Specifies the interval for rounding. Use TimeSpan.TicksPer____. + + + + Returns the smallest TimeSpan greater than or equal to the specified interval. + For example: Ceiling("00:57:00", TimeSpan.TicksPerMinute * 5) => "01:00:00" + + A TimeSpan to be rounded. + Specifies the interval for rounding. Use TimeSpan.TicksPer____. + + + + Returns the TimeSpan closest to the specified interval. + For example: Round("00:57:00", TimeSpan.TicksPerMinute * 5) => "00:55:00" + + A TimeSpan to be rounded. + Specifies the interval for rounding. Use TimeSpan.TicksPer____. + + + + Determines all options for time formatting. + This one value actually contains 4 settings: + Abbreviate / AbbreviateOff + LessThan / LessThanOff + Truncate   Auto / Shortest / Fill / Full + Range   MilliSeconds / Seconds / Minutes / Hours / Days / Weeks (Min / Max) + + + + + Specifies that all timeSpanFormatOptions should be inherited from TimeSpanUtility.DefaultTimeFormatOptions. + + + + + Abbreviates units. + Example: "1d 2h 3m 4s 5ms" + + + + + Does not abbreviate units. + Example: "1 day 2 hours 3 minutes 4 seconds 5 milliseconds" + + + + + Displays "less than 1 (unit)" when the TimeSpan is smaller than the minimum range. + + + + + Displays "0 (units)" when the TimeSpan is smaller than the minimum range. + + + + + Displays the highest non-zero value within the range. + Example: "00.23:00:59.000" = "23 hours" + + + + + Displays all non-zero values within the range. + Example: "00.23:00:59.000" = "23 hours 59 minutes" + + + + + Displays the highest non-zero value and all lesser values within the range. + Example: "00.23:00:59.000" = "23 hours 0 minutes 59 seconds 0 milliseconds" + + + + + Displays all values within the range. + Example: "00.23:00:59.000" = "0 days 23 hours 0 minutes 59 seconds 0 milliseconds" + + + + + Determines the range of units to display. + You may combine two values to form the minimum and maximum for the range. + Example: (RangeMinutes) defines a range of Minutes only; (RangeHours | RangeSeconds) defines a range of Hours to Seconds. + + + + + Determines the range of units to display. + You may combine two values to form the minimum and maximum for the range. + Example: (RangeMinutes) defines a range of Minutes only; (RangeHours | RangeSeconds) defines a range of Hours to Seconds. + + + + + Determines the range of units to display. + You may combine two values to form the minimum and maximum for the range. + Example: (RangeMinutes) defines a range of Minutes only; (RangeHours | RangeSeconds) defines a range of Hours to Seconds. + + + + + Determines the range of units to display. + You may combine two values to form the minimum and maximum for the range. + Example: (RangeMinutes) defines a range of Minutes only; (RangeHours | RangeSeconds) defines a range of Hours to Seconds. + + + + + Determines the range of units to display. + You may combine two values to form the minimum and maximum for the range. + Example: (RangeMinutes) defines a range of Minutes only; (RangeHours | RangeSeconds) defines a range of Hours to Seconds. + + + + + Determines the range of units to display. + You may combine two values to form the minimum and maximum for the range. + Example: (RangeMinutes) defines a range of Minutes only; (RangeHours | RangeSeconds) defines a range of Hours to Seconds. + + + + (for internal use only) + + + (for internal use only) + + + (for internal use only) + + + (for internal use only) + + + + Supplies the localized text used for TimeSpan formatting. + + + + Appends a formatted string, using the same semantics as Smart.Format. + The StringBuilder that will be used for output + The template that defines how the arguments are formatted + A list of arguments to be used in formatting + + + AppendLines a formatted string, using the same semantics as Smart.Format. + The StringBuilder that will be used for output + The template that defines how the arguments are formatted + A list of arguments to be used in formatting + + + Writes out a formatted string, using the same semantics as Smart.Format. + The TextWriter that will be used for output + The template that defines how the arguments are formatted + A list of arguments to be used in formatting + + + Writes out a formatted string, using the same semantics as Smart.Format. + The TextWriter that will be used for output + The template that defines how the arguments are formatted + A list of arguments to be used in formatting + + + Formats the specified arguments using this string as a template. + The template that defines how the arguments are formatted + A list of arguments to be used in formatting + + + Formats the specified arguments using this string as a template. + Caches the parsing results for increased performance. + + The template that defines how the arguments are formatted + A list of arguments to be used in formatting + Outputs an object that increases performance if the same format string is used repeatedly. + + + + This class holds a Default instance of the SmartFormatter. + The default instance has all extensions registered. + + + + + This class contains the Format method that constructs + the composite string by invoking each extension. + + + + + Gets the list of source extensions. + + + + + Gets the list of formatter extensions. + + + + + Gets all names of registered formatter extensions which are not empty. + + + + + + Adds each extensions to this formatter. + Each extension must implement ISource. + + + + + + Adds each extensions to this formatter. + Each extension must implement IFormatter. + + + + + + Searches for a Source Extension of the given type, and returns it. + This can be used to easily find and configure extensions. + Returns null if the type cannot be found. + + + + + + + Searches for a Formatter Extension of the given type, and returns it. + This can be used to easily find and configure extensions. + Returns null if the type cannot be found. + + + + + + + Gets or set the instance of the + + + + + Gets or set the for the formatter. + + + + + Get the for the formatter. + + + + + Replaces one or more format items in as specified string with the string representation of a specific object. + + A composite format string. + The object to format. + Returns the formated input with items replaced with their string representation. + + + + Replaces one or more format items in as specified string with the string representation of a specific object. + + The to use. + A composite format string. + The object to format. + Returns the formated input with items replaced with their string representation. + + + + Event raising, if an error occurs during formatting. + + + + + Format the input given in parameter . + + + + + + Try to get a suitable formatter. + + + + + + + First check whether the named formatter name exist in of the , + next check whether the named formatter is able to process the format. + + + True if an FormatterExtension was found, else False. + + + diff --git a/releases/1.7.1.1/netstandard1.6/SmartFormat.dll b/releases/1.7.1.1/netstandard1.6/SmartFormat.dll new file mode 100644 index 00000000..965beab2 Binary files /dev/null and b/releases/1.7.1.1/netstandard1.6/SmartFormat.dll differ diff --git a/releases/1.7.1.1/netstandard1.6/SmartFormat.pdb b/releases/1.7.1.1/netstandard1.6/SmartFormat.pdb new file mode 100644 index 00000000..80beec04 Binary files /dev/null and b/releases/1.7.1.1/netstandard1.6/SmartFormat.pdb differ diff --git a/releases/1.7.1.1/netstandard1.6/SmartFormat.xml b/releases/1.7.1.1/netstandard1.6/SmartFormat.xml new file mode 100644 index 00000000..e89c55ce --- /dev/null +++ b/releases/1.7.1.1/netstandard1.6/SmartFormat.xml @@ -0,0 +1,1003 @@ + + + + SmartFormat + + + + + Supplies information about formatting errors. + + + + + Placeholder which caused an error. + + + + + Location where the error occurred. + + + + + Information whether error will throw an exception. + + + + + This class holds a Default instance of the SmartFormatter. + The default instance has all extensions registered. + + + + Appends a formatted string, using the same semantics as Smart.Format. + The StringBuilder that will be used for output + The template that defines how the arguments are formatted + A list of arguments to be used in formatting + + + AppendLines a formatted string, using the same semantics as Smart.Format. + The StringBuilder that will be used for output + The template that defines how the arguments are formatted + A list of arguments to be used in formatting + + + Writes out a formatted string, using the same semantics as Smart.Format. + The TextWriter that will be used for output + The template that defines how the arguments are formatted + A list of arguments to be used in formatting + + + Writes out a formatted string, using the same semantics as Smart.Format. + The TextWriter that will be used for output + The template that defines how the arguments are formatted + A list of arguments to be used in formatting + + + Formats the specified arguments using this string as a template. + The template that defines how the arguments are formatted + A list of arguments to be used in formatting + + + Formats the specified arguments using this string as a template. + Caches the parsing results for increased performance. + + The template that defines how the arguments are formatted + A list of arguments to be used in formatting + Outputs an object that increases performance if the same format string is used repeatedly. + + + + This class contains the Format method that constructs + the composite string by invoking each extension. + + + + + Gets the list of source extensions. + + + + + Gets the list of formatter extensions. + + + + + Gets all names of registered formatter extensions which are not empty. + + + + + + Adds each extensions to this formatter. + Each extension must implement ISource. + + + + + + Adds each extensions to this formatter. + Each extension must implement IFormatter. + + + + + + Searches for a Source Extension of the given type, and returns it. + This can be used to easily find and configure extensions. + Returns null if the type cannot be found. + + + + + + + Searches for a Formatter Extension of the given type, and returns it. + This can be used to easily find and configure extensions. + Returns null if the type cannot be found. + + + + + + + Gets or set the instance of the + + + + + Gets or set the for the formatter. + + + + + Get the for the formatter. + + + + + Replaces one or more format items in as specified string with the string representation of a specific object. + + A composite format string. + The object to format. + Returns the formated input with items replaced with their string representation. + + + + Replaces one or more format items in as specified string with the string representation of a specific object. + + The to use. + A composite format string. + The object to format. + Returns the formated input with items replaced with their string representation. + + + + Event raising, if an error occurs during formatting. + + + + + Format the input given in parameter . + + + + + + Try to get a suitable formatter. + + + + + + + First check whether the named formatter name exist in of the , + next check whether the named formatter is able to process the format. + + + True if an FormatterExtension was found, else False. + + + Converts an object to a string. + + + + An extension can be explicitly called by using any of its names. + + Any extensions with "" names will be called implicitly (when no named formatter is specified). + + For example, "{0:default:N2}" or "{0:d:N2}" will explicitly call the "default" extension. + "{0:N2}" will implicitly call the "default" extension (and other extensions, too). + + + + + Writes the current value to the output, using the specified format. + + IF this extension cannot write the value, returns false, otherwise true. + + + + + Contains all necessary info for formatting a value + + + In "{Items.Length:choose(1,2,3):one|two|three}", + the would be the value of "Items.Length", + the would be "1,2,3", + and the would be "one|two|three". + + + + + The current value that is to be formatted. + + + + + This format specifies how to output the . + + + + + Contains all the details about the current placeholder. + + + + + Alignment inserts spaces into the output to ensure consistent length. + + Positive numbers insert spaces to the left, to right-align the text. + Negative numbers insert spaces to the right, to left-align the text. + + This should only work with the Default Formatter, but is optional with custom formatters. + + This is primarily for compatibility with String.Format. + + + + + When a named formatter is used, this will hold the options. + + For example, in "{0:choose(1,2,3):one|two|three}", FormatterOptions is "1,2,3". + + + + + Writes a string to the output. + + + + + Writes a substring to the output. + + + + + Writes the nested format to the output. + + + + + Infrequently used details, often used for debugging + + + + + Creates a associated with the . + + + + + Contains all the necessary information for evaluating a selector. + + + When evaluating "{Items.Length}", + the CurrentValue might be Items, and the Selector would be "Length". + The job of an ISource is to set CurrentValue to Items.Length. + + + + + The current value to evaluate. + + + + + The selector to evaluate + + + + + The index of the selector in a multi-part selector. + Example: {Person.Birthday.Year} has 3 seletors, + and Year has a SelectorIndex of 2. + + + + + The operator that came before the selector; typically "." + + + + + Sets the result of evaluating the selector. + + + + + Contains all the details about the current placeholder. + + + + + Infrequently used details, often used for debugging + + + + + Evaluates a selector. + + + + + Evaluates the based on the . + + If this extension cannot evaluate the Selector, returns False. + Otherwise, sets the and returns true. + + + + + + Caches information about a format operation + so that repeat calls can be optimized to run faster. + + + + + Caches the parsed format. + + + + + Storage for any misc objects. + This can be used by extensions that want to cache data, + such as reflection information. + + + + + Contains extra information about the item currently being formatted. + These objects are not often used, so they are all wrapped up here. + + + + + The original formatter responsible for formatting this item. + It can be used for evaluating nested formats. + + + + + The original set of arguments passed to the format function. + These provide global-access to the original arguments. + + + + + This object can be used to cache resources between formatting calls. + It will be null unless FormatWithCache is called. + + + + + The Format Provider that can be used to determine how to + format items such as numbers, dates, and anything else that + might be culture-specific. + + + + + If ErrorAction is set to OutputErrorsInResult, this will + contain the exception that caused the formatting error. + + + + + Contains case-sensitivity settings + + + + + An exception caused while attempting to output the format. + + + + + Writes a string to the output. + + + + + Writes a string to the output. + + + + + + + Writes a substring to the output. + + + + + + + + + Wraps a StringBuilder so it can be used for output. + This is used for the default output. + + + + + Returns the results of the StringBuilder. + + + + + Wraps a TextWriter so that it can be used for output. + + + + + Represents a parsed format string. + Contains a list of s, + including s + and s. + + + + Returns a substring of the current Format. + + + Returns a substring of the current Format. + + + + Searches the literal text for the search char. + Does not search in nested placeholders. + + + + + + Searches the literal text for the search char. + Does not search in nested placeholders. + + + + + + + Contains the results of a Split operation. + This allows deferred splitting of items. + + + + + Retrieves the literal text contained in this format. + Excludes escaped chars, and does not include the text + of placeholders + + + + + + Reconstructs the format string, but doesn't include escaped chars + and tries to reconstruct placeholders. + + + + + Base class that represents a substring + of text from a parsed format string. + + + + + Retrieves the raw text that this item represents. + + + + + Represents the literal text that is found + in a parsed format string. + + + + + Parses a format string. + + + + + If false, only digits are allowed as selectors. + If true, selectors can be alpha-numeric. + This allows optimized alpha-character detection. + Specify any additional selector chars in AllowedSelectorChars. + + + + + A list of allowable selector characters, + to support additional selector syntaxes such as math. + Digits are always included, and letters can be included + with AlphanumericSelectors. + + + + + A list of characters that come between selectors. + This can be "." for dot-notation, "[]" for arrays, + or even math symbols. + By default, there are no operators. + + + + + If false, double-curly braces are escaped. + If true, the AlternativeEscapeChar is used for escaping braces. + + + + + If AlternativeEscaping is true, then this character is + used to escape curly braces. + + + + + Includes a-z and A-Z in the list of allowed selector chars. + + + + + Adds specific characters to the allowed selector chars. + + + + + + Adds specific characters to the allowed operator chars. + An operator is a character that is in the selector string + that splits the selectors. + + + + + + Sets the AlternativeEscaping option to True + so that braces will only be escaped after the + specified character. + + + + + + [Default] + Uses {{ and }} for escaping braces for compatibility with String.Format. + However, this does not work very well with nested placeholders, + so it is recommended to use an alternative escape char. + + + + + Event raising, if an error occurs during parsing. + + + + + CTOR. + + + + + Gets the string representation of the ParsingError enum. + + + The string representation of the ParsingError enum + + + + Supplies information about parsing errors. + + + + + Raw ext part which caused an error. + + + + + Location where the error started. + + + + + Location where the error ended. + + + + + ParseError category. + + + + + Information whether error will throw an exception. + + + + + Gets the string representation of the ParsingError enum. + + The string representation of the ParsingError enum. + + + + Represents parsing errors in a Format string. + This exception only gets thrown when Parser.ErrorAction is set to ThrowError. + + + + + A placeholder is the part of a format string between the { braces }. + + + For example, in "{Items.Length,10:choose(1,2,3):one|two|three}", + the s is "10", + the s are "Items" and "Length", + the is "choose", + the is "1,2,3", + and the is "one|two|three". + + + + + Represents a single selector + in the text in a + that comes before the colon. + + + + + The index of the selector in a multi-part selector. + Example: {Person.Birthday.Year} has 3 seletors, + and Year has a SelectorIndex of 2. + + + + + Keeps track of where the "operators" started for this item. + + + + + The operator that came before the selector; typically "." + + + + + Determines how format errors are handled. + + + + Throws an exception. This is only recommended for debugging, so that formatting errors can be easily found. + + + Includes an issue message in the output + + + Ignores errors and tries to output the data anyway + + + Leaves invalid tokens unmodified in the text. + + + + Determines whether placeholders are case-sensitive or not. + + + + + Evaluates a conditional format. + + Each condition must start with a comparor: ">/>=", "</<=", "=", "!=". + Conditions must be separated by either "&" (AND) or "/" (OR). + The conditional statement must end with a "?". + + Examples: + >=21&<30&!=25/=40? + + + + + Do the default formatting, same logic as "String.Format". + + + + + Performs the default index-based selector, same as String.Format. + + + + + If the source value is an array (or supports ICollection), + then each item will be custom formatted. + + + Syntax: + #1: "format|spacer" + #2: "format|spacer|last spacer" + #3: "format|spacer|last spacer|two spacer" + + The format will be used for each item in the collection, the spacer will be between all items, and the last spacer will replace the spacer for the last item only. + + Example: + CustomFormat("{Dates:D|; |; and }", {#1/1/2000#, #12/31/2999#, #9/9/9999#}) = "January 1, 2000; December 31, 2999; and September 9, 9999" + In this example, format = "D", spacer = "; ", and last spacer = "; and " + + + + Advanced: + Composite Formatting is allowed in the format by using nested braces. + If a nested item is detected, Composite formatting will be used. + + Example: + CustomFormat("{Sizes:{Width}x{Height}|, }", {new Size(4,3), new Size(16,9)}) = "4x3, 16x9" + In this example, format = "{Width}x{Height}". Notice the nested braces. + + + + + + This allows an integer to be used as a selector to index an array (or list). + + This is better described using an example: + CustomFormat("{Dates.2.Year}", {#1/1/2000#, #12/31/2999#, #9/9/9999#}) = "9999" + The ".2" selector is used to reference Dates[2]. + + + + + Wrap, so that CollectionIndex can be used without code changes. + + + + + System.Runtime.Remoting.Messaging and CallContext.Logical[Get|Set]Data + not supported by .Net Core. Instead .Net Core provides AsyncLocal<T> + Good examples are: https://msdn.microsoft.com/en-us/library/dn906268(v=vs.110).aspx + and https://github.com/StephenCleary/AsyncLocal/blob/master/src/UnitTests/UnitTests.cs + + + + + Initializes the plugin with rules for many common languages. + If no CultureInfo is supplied to the formatter, the + default language rules will be used by default. + + + + + Use this class to provide custom plural rules to Smart.Format + + + + + Initializes the extension with no default TimeTextInfo. + + + + + Initializes the extension with a default TimeTextInfo. + + This will be used when no CultureInfo is supplied. Can be null. + + + + This class wraps a delegate, allowing it to be used as a parameter + to any string-formatting method (such as ). + + For example: + + var textWithLink = String.Format("Please click on {0:this link}.", new FormatDelegate((text) => Html.ActionLink(text, "SomeAction")); + + + + + + Implements System.IFormattable + + + + + + + + This delegate determines which singular or plural word + should be chosen for the given quantity. + + This allows each language to define its own behavior + for singular or plural words. + + It should return the index of the correct parameter. + + The value that is being referenced by the singular or plural words + + + + + Construct a ruleset for the language code. + The language code in two-letter ISO-639 format. + The pluralization rules are taken from . + + + + Returns True if the value is inclusively between the min and max and has no fraction. + + + + + These are the default options that will be used when no option is specified. + + + + + These are the absolute default options that will be used as + a safeguard, just in case DefaultFormatOptions is missing a value. + + + + + Turns a TimeSpan into a human-readable text. + Uses the specified timeSpanFormatOptions. + For example: "31.23:59:00.555" = "31 days 23 hours 59 minutes 0 seconds 555 milliseconds" + + + + A combination of flags that determine the formatting options. + These will be combined with the default timeSpanFormatOptions. + + An object that supplies the text to use for output + + + + Returns the largest TimeSpan less than or equal to the specified interval. + For example: Floor("00:57:00", TimeSpan.TicksPerMinute * 5) => "00:55:00" + + A TimeSpan to be rounded. + Specifies the interval for rounding. Use TimeSpan.TicksPer____. + + + + Returns the smallest TimeSpan greater than or equal to the specified interval. + For example: Ceiling("00:57:00", TimeSpan.TicksPerMinute * 5) => "01:00:00" + + A TimeSpan to be rounded. + Specifies the interval for rounding. Use TimeSpan.TicksPer____. + + + + Returns the TimeSpan closest to the specified interval. + For example: Round("00:57:00", TimeSpan.TicksPerMinute * 5) => "00:55:00" + + A TimeSpan to be rounded. + Specifies the interval for rounding. Use TimeSpan.TicksPer____. + + + + Determines all options for time formatting. + This one value actually contains 4 settings: + Abbreviate / AbbreviateOff + LessThan / LessThanOff + Truncate   Auto / Shortest / Fill / Full + Range   MilliSeconds / Seconds / Minutes / Hours / Days / Weeks (Min / Max) + + + + + Specifies that all timeSpanFormatOptions should be inherited from TimeSpanUtility.DefaultTimeFormatOptions. + + + + + Abbreviates units. + Example: "1d 2h 3m 4s 5ms" + + + + + Does not abbreviate units. + Example: "1 day 2 hours 3 minutes 4 seconds 5 milliseconds" + + + + + Displays "less than 1 (unit)" when the TimeSpan is smaller than the minimum range. + + + + + Displays "0 (units)" when the TimeSpan is smaller than the minimum range. + + + + + Displays the highest non-zero value within the range. + Example: "00.23:00:59.000" = "23 hours" + + + + + Displays all non-zero values within the range. + Example: "00.23:00:59.000" = "23 hours 59 minutes" + + + + + Displays the highest non-zero value and all lesser values within the range. + Example: "00.23:00:59.000" = "23 hours 0 minutes 59 seconds 0 milliseconds" + + + + + Displays all values within the range. + Example: "00.23:00:59.000" = "0 days 23 hours 0 minutes 59 seconds 0 milliseconds" + + + + + Determines the range of units to display. + You may combine two values to form the minimum and maximum for the range. + Example: (RangeMinutes) defines a range of Minutes only; (RangeHours | RangeSeconds) defines a range of Hours to Seconds. + + + + + Determines the range of units to display. + You may combine two values to form the minimum and maximum for the range. + Example: (RangeMinutes) defines a range of Minutes only; (RangeHours | RangeSeconds) defines a range of Hours to Seconds. + + + + + Determines the range of units to display. + You may combine two values to form the minimum and maximum for the range. + Example: (RangeMinutes) defines a range of Minutes only; (RangeHours | RangeSeconds) defines a range of Hours to Seconds. + + + + + Determines the range of units to display. + You may combine two values to form the minimum and maximum for the range. + Example: (RangeMinutes) defines a range of Minutes only; (RangeHours | RangeSeconds) defines a range of Hours to Seconds. + + + + + Determines the range of units to display. + You may combine two values to form the minimum and maximum for the range. + Example: (RangeMinutes) defines a range of Minutes only; (RangeHours | RangeSeconds) defines a range of Hours to Seconds. + + + + + Determines the range of units to display. + You may combine two values to form the minimum and maximum for the range. + Example: (RangeMinutes) defines a range of Minutes only; (RangeHours | RangeSeconds) defines a range of Hours to Seconds. + + + + (for internal use only) + + + (for internal use only) + + + (for internal use only) + + + (for internal use only) + + + + Supplies the localized text used for TimeSpan formatting. + + + +