NanoByte.Common
Namespaces | Classes | Enumerations | Functions
NanoByte.Common Namespace Reference

Generic utility classes, interfaces, etc. that are applicable to a wide range of different applications. More...

Namespaces

namespace  Cli
 Classes for interacting with the user via the Console and for controlling external command-line applications.
 
namespace  Collections
 Specialized collection types supplementing System.Collections.Generic.
 
namespace  Controls
 WinForms controls and forms designed to simplify common UI designs.
 
namespace  Dispatch
 Functionality like double dispatch and two/three-way merging.
 
namespace  Info
 Data structures providing diagnostic information about the application, the operating system, etc..
 
namespace  Native
 Utility classes that provide OS-specific helper functions.
 
namespace  Net
 Classes for network communication.
 
namespace  Storage
 Classes for data storage and serialization (XML and binary).
 
namespace  Streams
 Filter streams and utility classes with helper functions for stream handling.
 
namespace  Tasks
 Classes for tracking the progress of background tasks.
 
namespace  Undo
 An Undo-system based on the Command pattern.
 
namespace  Values
 Data structures and helpers for Value Types.
 

Classes

class  AppMutex
 Provides a cross-process object allowing easy detection of application instances (e.g., for use by installers and update tools). May be a no-op on some platforms. More...
 
class  AsyncFormWrapper
 Lazily starts a separate thread with a message loop for a Form. More...
 
class  Disposable
 Invokes a callback on Dispose. More...
 
class  ExceptionUtils
 Provides helper methods related to Exceptions. More...
 
class  Future
 Combines an EventWaitHandle with a result. More...
 
interface  IChangeNotify
 An object that can notify interested parties of changes in properties of interest. More...
 
interface  ICloneable
 Supports cloning. More...
 
interface  INamed
 An object that has a unique human-readable name that can be used for identification in lists and sorting and that can be modified. More...
 
class  Log
 Sends log messages to custom handlers or the Console. Additionally writes to System.Diagnostics.Debug, an in-memory buffer and a plain text file. More...
 
class  MarshalNoTimeout
 Derive from this class to enable remoting without timeouts. Keeps remoting object alive as long as process is running. More...
 
class  Msg
 Provides easier access to typical MessageBox configurations and automatically upgrades to TaskDialogs when available. More...
 
class  MutexLock
 Provides a wrapper around Mutex that automatically acquires on creating and releases on Dispose. More...
 
class  NamedComparer
 Compares INamed<T> objects based on their INamed<T>.Name in a case-insensitive way. More...
 
class  NotAdminException
 Like a UnauthorizedAccessException but with the additional hint that retrying the operation as an administrator would fix the problem. More...
 
class  ProcessUtils
 Provides methods for launching child processes. More...
 
class  PropertyPointer
 Wraps delegate-based access to a value as a property. More...
 
class  RegistryUtils
 Provides utility and extension methods for Registry access. More...
 
class  StagedOperation
 Common base class for operations that are first staged and then either committed or rolled back. More...
 
class  StringUtils
 Provides additional or simplified string functions. More...
 
class  ThreadUtils
 Provides helper methods for launching Threads. More...
 
struct  TimedLogEvent
 Structure that allows you to log timed execution blocks. More...
 
class  UpdateUtils
 Provides neat little code-shortcuts for updating properties. More...
 

Enumerations

enum  LogSeverity { LogSeverity.Debug, LogSeverity.Info, LogSeverity.Warn, LogSeverity.Error }
 Describes how severe/important a Log entry is. More...
 
enum  MsgSeverity { MsgSeverity.Info, MsgSeverity.Warn, MsgSeverity.Error }
 How severe/important a message is More...
 

Functions

delegate void RetryAction (bool lastAttempt)
 Delegate used by ExceptionUtils.Retry<TException>. More...
 
delegate void LogEntryEventHandler (LogSeverity severity, string message)
 Describes an event relating to an entry in the Log. More...
 

Detailed Description

Generic utility classes, interfaces, etc. that are applicable to a wide range of different applications.

Enumeration Type Documentation

◆ LogSeverity

Describes how severe/important a Log entry is.

See also
LogEntryEventHandler
Enumerator
Debug 

Information to help developers diagnose problems.

Info 

A nice-to-know piece of information.

Warn 

A warning that doesn't have to be acted upon immediately.

Error 

A critical error that should be attended to.

◆ MsgSeverity

How severe/important a message is

Enumerator
Info 

A nice-to-know piece of information.

Warn 

A warning that doesn't have to be acted upon immediately.

Error 

A critical error that should be attended to.

Function Documentation

◆ LogEntryEventHandler()

delegate void NanoByte.Common.LogEntryEventHandler ( LogSeverity  severity,
string  message 
)

Describes an event relating to an entry in the Log.

Parameters
severityThe type/severity of the entry.
messageThe message text of the entry.
See also
Log.Handler

◆ RetryAction()

delegate void NanoByte.Common.RetryAction ( bool  lastAttempt)

Delegate used by ExceptionUtils.Retry<TException>.

Parameters
lastAttemptIndicates whether this retry run is the last attempt before giving up and passing the exception through.
See also
ExceptionUtils.Retry<TException>