ActionExtensions Class
Definition
- Namespace
- Cuemon.Extensions
- Assemblies
- Cuemon.Extensions.Core.dll
Extension methods for the Action delegates.
public static class ActionExtensions
- Inheritance
-
objectActionExtensions
Examples
The following example demonstrates applying the options pattern and factory initialization using the Configure and CreateInstance extension methods.
using System;
using Cuemon.Configuration;
using Cuemon.Extensions;
namespace MyApp.Examples;
public static class ActionExtensionsExample
{
private sealed class MyOptions : IParameterObject
{
public string Delimiter { get; set; } = ",";
public string Qualifier { get; set; } = "\"";
}
private sealed class MyService
{
public string ConnectionString { get; set; } = string.Empty;
public int Timeout { get; set; } = 30;
}
public static void Demonstrate()
{
var options = new Action<MyOptions>(setup =>
{
setup.Delimiter = ";";
setup.Qualifier = "'";
}).Configure();
var service = new Action<MyService>(factory =>
{
factory.ConnectionString = "Server=(localdb)\\MSSQLLocalDB;Database=Docs";
factory.Timeout = 60;
}).CreateInstance();
Console.WriteLine($"{options.Delimiter} {options.Qualifier}");
Console.WriteLine($"{service.ConnectionString} ({service.Timeout}s)");
}
}
Methods
| Name | Description |
|---|---|
| Configure<TOptions>(Action<TOptions>) | Provides a generic way to support the options pattern which enables using custom options classes to represent a group of related settings. |
| CreateInstance<T>(Action<T>) | Provides a generic way to initialize the default, parameterless constructed instance of |