ChecksumBuilderDecoratorExtensions Class
Definition
- Assemblies
- Cuemon.Data.Integrity.dll
Extension methods for the ChecksumBuilder class hidden behind the IDecorator<T> interface.
public static class ChecksumBuilderDecoratorExtensions
- Inheritance
-
ChecksumBuilderDecoratorExtensions
Examples
The following example demonstrates how to use ChecksumBuilderDecoratorExtensions to combine typed values with a ChecksumBuilder through the IDecorator<T> interface.
using System;
using Cuemon;
using Cuemon.Data.Integrity;
using Cuemon.Security;
namespace MyApp.Examples;
public class Example
{
public void Run()
{
// Create a ChecksumBuilder wrapped in a Decorator
var builder = new ChecksumBuilder(() => HashFactory.CreateFnv128());
var decorator = Decorator.Enclose(builder);
// Combine various typed values using the decorator extensions
decorator.CombineWith(42); // int
decorator.CombineWith(3.14); // double
decorator.CombineWith("tag"); // string
Console.WriteLine($"Combined checksum: {builder}");
// The extensions return the inner builder for chaining
var combined = decorator.CombineWith(12345L); // long
Console.WriteLine($"Returned type: {combined.GetType().Name}");
// Extension methods also work with short, float, ushort, uint, ulong
var shortDecorator = Decorator.Enclose(new ChecksumBuilder(() => HashFactory.CreateFnv32()));
shortDecorator.CombineWith((short)100);
shortDecorator.CombineWith(3.14f);
shortDecorator.CombineWith(42u);
Console.WriteLine($"Short builder: {shortDecorator.Inner}");
}
}
Methods
| Name | Description |
|---|---|
| CombineWith<T>(IDecorator<T>, byte[]) | Combines the |
| CombineWith<T>(IDecorator<T>, double) | Combines the |
| CombineWith<T>(IDecorator<T>, short) | Combines the |
| CombineWith<T>(IDecorator<T>, int) | Combines the |
| CombineWith<T>(IDecorator<T>, long) | Combines the |
| CombineWith<T>(IDecorator<T>, float) | Combines the |
| CombineWith<T>(IDecorator<T>, string) | Combines the |
| CombineWith<T>(IDecorator<T>, ushort) | Combines the |
| CombineWith<T>(IDecorator<T>, uint) | Combines the |
| CombineWith<T>(IDecorator<T>, ulong) | Combines the |