29 lines
760 B
C#
29 lines
760 B
C#
namespace LaaProductionWeb.App_Infrastructure
|
|
{
|
|
using Microsoft.Extensions.DependencyInjection;
|
|
|
|
using System;
|
|
|
|
public class ServiceProvider
|
|
{
|
|
private readonly IServiceProvider services;
|
|
|
|
private ServiceProvider(IServiceProvider services)
|
|
=> this.services = services;
|
|
|
|
public T GetService<T>() where T : class
|
|
{
|
|
if (this.services.GetService<T>() is T service)
|
|
{
|
|
return service;
|
|
}
|
|
|
|
return default(T);
|
|
}
|
|
|
|
public static ServiceProvider Current { get; private set; }
|
|
|
|
internal static void SetServiceProvider(IServiceProvider serviceProvider)
|
|
=> Current = new ServiceProvider(serviceProvider);
|
|
}
|
|
} |