Does .net core dependency injection support Lazy

前端 未结 4 1744
没有蜡笔的小新
没有蜡笔的小新 2020-12-09 01:49

I am trying to use the generic Lazy class to instantiate a costly class with .net core dependency injection extension. I have registered the IRepo type, but I\'m not sure wh

4条回答
  •  忘掉有多难
    2020-12-09 02:19

    Here's another approach which supports generic registration of Lazy so that any type can be resolved lazily.

    services.AddTransient(typeof(Lazy<>), typeof(Lazier<>));
    
    internal class Lazier : Lazy where T : class
    {
        public Lazier(IServiceProvider provider)
            : base(() => provider.GetRequiredService())
        {
        }
    }
    

提交回复
热议问题