|-
|Add{LIFETIME}<{SERVICE}>(sp => new {IMPLEMENTATION})
|<pre>services.AddSingleton<IMyDep>(sp => new MyDep());services.AddSingleton<IMyDep>(sp => new MyDep(99));</pre>
|Y
|Y
|Y
|-
|Add{LIFETIME}<{IMPLEMENTATION}>()|services.AddSingleton<MyDep>();|Y|N|N
|-
|AddSingleton<{SERVICE}>(new {IMPLEMENTATION})|services.AddSingleton<IMyDep>(new MyDep());services.AddSingleton<IMyDep>(new MyDep(99));|N|Y|Y
|-
|AddSingleton(new {IMPLEMENTATION})|services.AddSingleton(new MyDep());||||-||services.AddSingleton(new MyDep(99));|N|N|Y
|-
|}