Namespace WizardWrx
Classes
ArrayInfo
This class organizes constants and routines for working with arrays. The constants are mostly synonyms for constants that exist in other classes and assemblies.
Since static classes are implicitly sealed, this class cannot be inherited.
ASCII_Character_Display_Table
Provide read only access to a table of ASCII characters and text to display for selected special characters.
ASCIICharacterDisplayInfo
Instances of this class represent individual ASCII characters. Since the NUL character is defined, and occupies the first element, the numeric code that corresponds to a character maps directly to the corresponding element in this array.
ByteOrderMark
Use this class to evaluate arbitrary byte arrays for the presence of a Byte Order Mark.
ClassAndMethodDiagnosticInfo
The static methods in this class expose the internal name, source code file name, and source file line number from which calls to them originated.
CSVFileInfo
Use these constants and service routines to simplify working with CSV type files.
DateTimeExtensions
This class implements two overloads of DateOfMostRecentWeekdayDay, a static method, implemented as an extension method on the System.DateTime type. The two overloads accept their one externally visible argment as either a DayOfWeek enumeration member or its integral value.
DisplayFormats
Pass these constants to the ToString method on an object of the appropriate type to render the object for printing.
The comment associated with each constant identifies the types for which it is appropriate.
There are service methods to facilitate using the Date/Time formatting constants, which cannot be fed to ToString, except, perhaps, with a custom formatting engine. Use these service methods, or call the ReformatSysDate function, which also belongs to this library, directly.
NOTE: The time formatting strings and routines in this class are time zone agnostic. If you want or need the time zone, use the companion method, GetDisplayTimeZone, defined in sibling class Util.
EmbeddedTextFileReaders
This static class exposes methods for loading text from custom resources that are embedded in an assembly.
FileInfoExtension
Extend the System.IO.FileInfo class with methods for testing, setting, and clearing file attribute flags, including the ability to save and restore flags to their initial states.
FileInfoExtensionMethods
The new extension methods that supersede the instance methods on the companion FileInfoExtension class go into a dedicated class, because a static class must expose them.
FileIOFlags
Use these flags to document stream I/O method calls.
FileNameTricks
This class exposes numerous static methods for manipulating file names. Unlike the objects in the System.File namespace, these methods don't need a real file object. All work on strings that represent file names.
GenericSingletonBase<T>
Abstract class GenericSingletonBase is a complete implementation of the Singleton design pattern that takes full advantage of the Microsoft .NET Framework. Please see the Remarks for further details.
ListHelpers
This class exposes methods for merging sorted lists of items, and to simplify working with the values returned through the IComparable interface.
ListInfo
This static class exposes handy constants for working with buffers, lists, and substrings.
Since static classes are implicitly sealed, this class cannot be inherited.
Logic
This sealed class exposes methods that encapsulate many common, tricky loop state tests.
Since static classes are implicitly sealed, this class cannot be inherited.
MagicBooleans
This class defines frequently used Boolean values whose correct values are easier to remember with the help of a mnemonic.
This class is one of a constellation of static classes that define a wide variety of symbolic constants that I use to make my code easier to understand when I need a refresher or am about to change it.
MagicNumbers
This class defines constants for commonly used magic numbers. Others are defined in companion class ArrayInfo, while SpecialCharacters defines character representations of the visually ambiguous numbers and letters, for use in place of literals.
Since static classes are implicitly sealed, this class cannot be inherited.
MoreMath
This static class exposes methods that perform a variety of infrequently used, but technically obscure or deceptively tricky mathematical computations.
NumberFormatters
This static class exposes methods to further simplify formatting of integers, floating point (single precision real numbers) and double precision real numbers. For integers, these methods cover both decimal and the most frequently used hexadecimal representations, spanning from two through sixteen hexadecimal glyphs.
NumericFormats
This class defines standard numeric format strings, for use with the string.format method and its derivatives and relatives.
ObjectPropertyEnumerators
This class exposes static methods for enumerating properties of objects.
PathPositions
Use these constants to document path string parsing.
Since static classes are implicitly sealed, this class cannot be inherited.
RecoveredException
Override the Exception class, so that the Source, StackTrace, and TargetSite properties can be directly initialized.
RegExpSupport
Constants, some built from others by static methods, to expedite common tasks that use regular expressions.
ReportDetail
Instances of this class are generic report details, with labels and formats for printing them.
ReportDetail.LabelChangedEventArgs
The LabelChanged event needs to pass two integers to the event sink.
ReportDetails
This class holds the details for a report. Static object locks are used throughout to ensure synchronized access.
ReportHelpers
This static class exposes methods to help prepare strings for use on reports.
SortableManagedResourceItem
Instances of this class represent arbitrary managed resource items.
SpecialCharacters
Use these constants when you want or need your listings to be crystal clear about certain ambiguous literals.
Since static classes are implicitly sealed, this class cannot be inherited.
SpecialStrings
This class defines special purpose strings that are either difficult to get right in the first place, or display ambiguously in text editors and printed source code listings.
Since static classes are implicitly sealed, this class cannot be inherited.
StringExtensions
This is a class of extension methods for performing common tasks not provided by the System.String class. All but the four Pad methods are derived from long established routines in companion class StringTricks.
Just as importing the System.Linq namespace makes its generic extension methods visible, importing the root WizardWrx namespace, accompanied by a reference to WizardWrx.Core, makes these methods visible on every instance of System.string.
Rather than create ane entirely new class to support one small method, I extended this class to cover RenderEvenWhenNull, even though it is a generic method.
StringTricks
This is a class of static methods (functions) for performing common tasks not provided by the System.String class. Most, but not all, have become obsolete, and are being retired in favor of the StringExtensions class in the WizardWrx.Core namespace.
SyncRoot
Use instances of this class to provide classes that must be made thread-safe with locks over which the class has complete control.
SysDateFormatters
This class implements my stalwart date formatter, ReformatSysDateP6C, which I created initially as a Windows Interface Language (WIL, a. k. a. WinBatch) library function, Reformat_Date_YmdHms_P6C, in October 2001, although its roots go back much further in my WIL script development.
Since static classes are implicitly sealed, this class cannot be inherited.
TextBlocks
This class defines methods for creating and manipulating bounded text blocks.
TimeZoneInfoExtensions
Extend the sealed TimeZoneInfo class to support abbreviated time zone names.
Structs
ReportDetail.ItemDisplayOrder
This one-member structure prevents the Common Language Runtime from misdirecting the signed integer Value argument of a constructor, which might have a valid value of zero, into a constructor that expects a DisplayOrder value, which is prohibited from being zero.
Enums
ASCIICharacterDisplayInfo.CharacterSubtype
This enumeration maps the Subtype strings to fast, efficient, safe integer values that correspond to ten specialized groups of characters. These correspond roughly to the Unicode character categories.
ASCIICharacterDisplayInfo.CharacterType
This enumeration maps the CharType strings to fast, efficient, safe integer values that correspond to three broad groups of characters.
ByteOrderMark.BOMType
Members of this enumeration report the type of byte order mark, if any, present at its beginning.
FileInfoExtension.enmInitialStatus
Define the three possible initial states.
FileInfoExtensionMethods.FileDetailsToShow
Use with ShowFileDetails parameter penmFileDetailsToShow.
FileNameTricks.TerminaBackslash
Use a member of this enumeration with FileDirName and PathFixup, to specify whether you want a path string with or without a trailing backslash.
ListHelpers.CompareResult
The CompareTwoOfAKind method returns a member of this enumeration, providing for the CompareTo method of the IComparable interface that it encapsulates with a tad of syntactic sugar.
NumericFormats.HexFormatDecoration
Use this enumeration with the third argument to the fourth (coprehensive) overload of IntegerToHexStr or the second argument to its second overload.
ReportDetail.State
This enumeration keeps track of the state of the instance.
ReportHelpers.Alignment
Set the penmAlignment argument of the AdjustToMaximumWidth method to a member of this enumeration.