Skip to content

Latest commit

 

History

History
23 lines (16 loc) · 613 Bytes

README.md

File metadata and controls

23 lines (16 loc) · 613 Bytes

DeclareDI

Declarative extension for Microsoft.Extensions.DependencyInjection, designed to allow functional-style, dependency-injected programming.

Usage

For higher-order functions:

public delegate DateTime NowPlusDays(int days);
public delegate string NowPlusDaysFormatted(int days);

public static class Functions {
    
    [Service]
    public static NowPlusDays NowPlusDays() => 
        (days) => DateTime.Now.AddDays(days);

    [Service]
    public static NowPlusDaysFormatted NowPlusDaysFormatted(NowPlusDays nowPlusDays) => 
        (days) => nowPlusDays(days).ToLongDateString();
}