The ChannelAdam Core Library
The open source ChannelAdam Core Library provides some helpful .NET functionality - such as the implementation of various design patterns. This functionality also just happens to be used in the other ChannelAdam code libraries...
Below are the main features of the library. See the linked code for details.
Please contact me if you have any questions.
NuGet Package Installation
To install the ChannelAdam.Core NuGet package run the following command in the Package Manager Console:
PM> Install-Package ChannelAdam.Core
Have you ever thought that the disposable pattern was complicated to implement or understand? Inherit this and it's easy!
Have you ever needed to implement a Command Pattern?
A Command Action has an
Execute method with a
void return parameter.
A Command Function has an
Execute method with a specified return parameter.
Need to execute some commands and be able to undo them? This Reversible Command implementation is for you!
Use the Reversible Command Manager to manage the stack of commands that can be reversed.
- Reversible Command Action interface
- Reversible Command Action base class
- Reversible Command Function interface
- Reversible Command Function base class
Set Property - Command Implementation
A command implementation for setting a property on an object.
Weak Event Pattern
Need a Weak Event in specific circumstances to prevent memory leaks in your event listeners?
A very simple interface for logging or writing out to the console.
Easily retreive embedded resources from their manifest resource stream.
Getting low-level with a Real Proxy? These are disposable and have retry capability!
Retry Policies (for Transient Fault Handling)
Some handy interfaces to describe retry policies.
- Retry Policy Action interface
- Async Retry Policy Action interface
- Retry Policy Function interface
Sample Retry Policy Adapter for the Microsoft Transient Fault Handling library
XML validation, serialisation and type conversion made easy.
- Extension methods for converting XML to various types
- Extension methods for serialising XML
- Validate XML against an XSD Schema