Метод 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());
См. также¶
- класс ApplicationServicesContext
- пространство имён Eremex.AvaloniaUI.Controls.ApplicationServices
* Эта страница переведена с использованием технологий машинного перевода.