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.
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.

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 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.
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.