Хабр Курсы для бэкендеров
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!

Будьте внимательны.
А давайте. Возьмите вот такой код:
var services = new ServiceCollection();
services.AddTransient<IFoo, Foo>();
services.AddTransient<Lazy<IFoo>>();
using var sp = services.BuildServiceProvider();
var foo = sp.GetRequiredService<Lazy<IFoo>>();
Console.WriteLine(foo.IsValueCreated);
interface IFoo;
class Foo : IFoo;Что будет выведено в консоль? Почему True? ;)
Это собеседование?
Я думаю, зависит от того как реализовано свойство IsValueCreated и каким образом ServiceProvider инжектит оборачиваемый объект в Lazy. Угадал?
Какой приз мне полагается?
Использование Lazy<T> с Dependency Injection в .NET