RSCG Example–SourceInject- part 22

   

name SourceInject
nuget

https://www.nuget.org/packages/SourceInject/

link https://github.com/giggio/sourceinject
author Giovanni Bassi

Auto register services in startup   The code that you start with is


    using Microsoft.Extensions.DependencyInjection;

    using System;

    using System.Threading.Tasks;

    

    namespace AutoRegisterBL

    {

        [Inject(ServiceLifetime.Transient)]

        public class Repo

        {

            public async Task<person> GetFromId(int id)

            {

                await Task.Delay(1000);

                return new Person()

                {

                    ID = id,

                    Name = " Andrei Ignat " + id

                };

            }

        }

    }


The code that you will use is



    //in startup.cs

    services.DiscoverInAutoRegisterBL();

   The code that is generated is


    // <auto-generated>

    using Microsoft.Extensions.DependencyInjection;

    

    public static class GeneratedServicesExtension

    {

        public static void DiscoverInAutoRegisterBL(this IServiceCollection services) =&gt; services.Discover();

        internal static void Discover(this IServiceCollection services)

        {

            services.AddTransient<autoregisterbl.repo>();

    

        }

    }

    

    public static class AutoRegisterBLDiscoverer

    {

        public static void Discover(IServiceCollection services) =&gt; services.Discover();

    }

Example Code: https://github.com/ignatandrei/RSCG_Examples/tree/main/AutoRegister

All RSCG

NrBlog Post
1RSCG–part 1
2RSCG- AppVersion–part 2
3http://msprogrammer.serviciipeweb.ro/2021/02/17/rsgc-enum-part-3/
4RSGC-JSON to Class- part 4
5RSGC-Constructor – Deconstructor – part 5
6RSGC – DTO Mapper – part 6
7RSGC – Skinny Controllers- part 7
8RSGC-Builder Design Pattern – part 8
9RSGC- MetadataFromObject – part 9
10RSGC- Dynamic Mock – part 10
11RSCG- Method Decorator – part 11
12RSCG – Curry – Partial function – part 12
13RSCG- part 13 – IFormattable
14RSCG- part 14 – DP_Decorator
15RSCG- part 15 – Expression Generator
16RSCG- part 16 – Many Others
17RSCG- the book
18RSCG–Template Rendering- part 17
19CI Version
20HttpClientGenerator
21Query from database
22AutoRegister
23TinyTypes
24Static2Interface
25AppSettings
26Properties
27
Roslyn Source Code Generators