26 lines
1,014 B
C#
26 lines
1,014 B
C#
public class UtilizingProvider
|
|
{
|
|
private readonly IServiceProvider _provider;
|
|
private readonly AnyService _service;
|
|
|
|
// This service is allowed to be null because it is only populated if the service is actually available in the provider.
|
|
private readonly AnyOtherService? _otherService;
|
|
|
|
// This constructor injects only the service provider,
|
|
// and uses it to populate the other dependencies.
|
|
public UtilizingProvider(IServiceProvider provider)
|
|
{
|
|
_provider = provider;
|
|
_service = provider.GetRequiredService<AnyService>();
|
|
_otherService = provider.GetService<AnyOtherService>();
|
|
}
|
|
|
|
// This constructor injects the service provider, and AnyService,
|
|
// making sure that AnyService is not null without having to call GetRequiredService
|
|
public UtilizingProvider(IServiceProvider provider, AnyService service)
|
|
{
|
|
_provider = provider;
|
|
_service = service;
|
|
_otherService = provider.GetService<AnyOtherService>();
|
|
}
|
|
}
|