Перейти к содержанию

Метод ApplicationServicesContext.RegisterApplicationServices

Описывает состав сервисов приложения без привязки к какому-либо конкретному DI-контейнеру. Хост получает пары из типа сервиса и фабрики и сам решает, как и с каким временем жизни их регистрировать.

Пространство имён: Eremex.AvaloniaUI.Controls.ApplicationServices
Сборка: Eremex.Avalonia.Controls.ApplicationServices.dll
NuGet-пакет: Eremex.Avalonia.Controls.ApplicationServices

Объявление

public static void RegisterApplicationServices(
    Action<Type, Func<IServiceProvider, object>> register)

Параметры

имя тип описание
register Action<Type, Func<IServiceProvider, object>> Вызывается один раз для каждого сервиса с типом сервиса и фабрикой, создающей его из IServiceProvider. Зарегистрируйте каждую пару в выбранном контейнере; сервисы рассчитаны на использование в виде синглтонов.

Исключения

исключение условие
ArgumentNullException register равно null.

Примеры

Microsoft.Extensions.DependencyInjection:

ApplicationServicesContext.RegisterApplicationServices(
    (type, factory) => services.AddSingleton(type, sp => factory(sp)));

Autofac:

ApplicationServicesContext.RegisterApplicationServices(
    (type, factory) => builder.Register(c => factory(c.Resolve<IServiceProvider>())).As(type).SingleInstance());

См. также



* Эта страница переведена с использованием технологий машинного перевода.