Click or drag to resize

Neon.Common Namespace

This namespace includes a a lot of types used by the remaining class libraries. You might find some of these useful as well.
Classes
  ClassDescription
Public classBlock
Used to reference a block in a BlockArray or BlockStream.
Public classBlockArray
Implements an array of Block instances.
Public classByteEncoding
Implements a text encoding that simply reads and writes bytes without any changes. This corresponds to the Windows codepage 1252.
Public classByteUnits

Converts a byte count string with optional units into a count.

K or KB1,000
Ki or kiB1,024
M or MB1000000
Mi or MiB1,048,576
G or GB1,000,000,000
Gi or GiB1,073,741,824
T or TB1,000,000,000,000
Ti or TiB1,099,511,627,776
P or PB1,000,000,000,000,000
Pi or PiB1,125,899,906,842,624
E or EB1,000,000,000,000,000,000‬
Ei or EiB1,152,921,504,606,846,976‬
Public classCatchAllException

Thrown by ThrowOnError and ExceptionResultTResult when the type for the exception identified by ExceptionType doesn't exist in the current AppDomain.

This can happen when a remote process throws an exception from an assembly it references but is not referenced by the calling process. In these cases, you'll need to catch this exception and then examine the ExceptionType property to identify the exception and potentially the Message property as well.

Public classCommandLine
Performs common operations on application a DOS or Linux command line.
Public classCommandLineOptionDefinition
Associates one or more option names with a default value.
Public classCredentials
Used to persist credentials.
Public classEnvironmentParser
Handles parsing of environment variables.
Public classExceptionResult
Used to marshal a possible exception from a remote process to the local caller. Use this type for remote methods that return void or the derived ExceptionResultTResult type for remote methods that return a result.
Public classExceptionResultTResult
Used to marshal a possible exception from a remote process to the local caller. Use this type for remote methods that return a result or the base ExceptionResult type for remote methods that return void.
Public classExecuteException
Thrown by EnsureSuccess if the executed command did not return a zero exit code.
Public classExecuteResponse
Public classGlobPattern
Implements a very simple glob matcher inspired by the GitHub .gitignore patterns described here.
Public classLabelSelector
Implements label related utilities.
Public classLabelSelectorTItem
Implements a Kubernetes compatible general purpose label based selector mechanism that can select a set of items from a collection based on the set of labels assigned to each item. This class supports some simple fixed query methods as well as a simple text query language.
Public classNeonHelper
Provides global common utilities and state.
Public classNotReadyException
Indicates that a component is not ready to perform an operation but may become ready in the future.
Public classProgramExitException
Used to signal that a program or tool should exit.
Public classProgramRunner
Used to implement unit tests on command line tools by simulating their execution on a thread rather than forking the tool as a process. This is makes debugging easier and also deals with the fact that unit tests may leave orphan processes running.
Public classSemanticVersion
Implements a semantic version as defined by the Semantic Versioning 2.0.0 specification. This is similar to the base Version class but includes support for pre-release identifiers as well as build information.
Public classServiceContainer
This class combines the capabilities of a IServiceCollection and IServiceProvider into a single object that implements the combined IServiceContainer interface.
Public classStub
Used in situations where an innocous parameter is required to disambiguate constructor or method overloads.
Public classToolException
Typically thrown when a tool or subprocess is executed an fails.
Structures
Interfaces
  InterfaceDescription
Public interfaceILabeled
Public interfaceIServiceContainer

This interface combines the capabilities of IServiceCollection and IServiceProvider to define an object that can dynamically add and remove service implementations. See the default implementation ServiceCollection for more information.

Note Note
Implementations must be thread-safe.
Delegates
Enumerations