-
-
Notifications
You must be signed in to change notification settings - Fork 119
Open
Description
using Lamar;
using Lamar.Microsoft.DependencyInjection;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
var builder = Host.CreateApplicationBuilder()
.UseLamar(
registry =>
{
registry.AddSingleton<A>();
registry.Use<B>().Singleton().For<IB>();
registry.For<C>().Use<C>().Singleton();
registry.Use<D>().Singleton().For<D>();
}
);
var host = builder.Build();
host.Start();
var services = host.Services;
Console.WriteLine(ReferenceEquals(services.GetRequiredService<A>(), services.GetRequiredService<A>()));
Console.WriteLine(ReferenceEquals(services.GetRequiredService<B>(), services.GetRequiredService<B>()));
Console.WriteLine(ReferenceEquals(services.GetRequiredService<C>(), services.GetRequiredService<C>()));
Console.WriteLine(ReferenceEquals(services.GetRequiredService<D>(), services.GetRequiredService<D>())); // StackOverflow
class A
{
}
interface IB
{
}
class B : IB
{
}
class C
{
}
class D
{
}
Metadata
Metadata
Assignees
Labels
No labels