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

Класс SimpleServiceProvider

Минимальная реализация IServiceProvider без зависимости от какого-либо DI-контейнера. Предназначена для приложений и тестов, которым не нужен полноценный контейнер. Приложения с контейнером регистрируют сервисы по-своему, см. RegisterApplicationServices.

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

Объявление

public sealed class SimpleServiceProvider : IDisposable, IServiceProvider

Конструкторы

имя описание
SimpleServiceProvider() Конструктор по умолчанию.

Методы

имя описание
AddSingleton(…) Регистрирует фабрику сервиса. Экземпляр создаётся при первом запросе. Сигнатура совместима с RegisterApplicationServices: ApplicationServicesContext.RegisterApplicationServices(provider.AddSingleton);
AddSingleton<TService>(…) Регистрирует готовый экземпляр под типом TService. Тип указывается явно, чтобы сервис нельзя было случайно зарегистрировать под его конкретным классом вместо интерфейса.
Dispose() Освобождает созданные сервисы, реализующие IDisposable.
GetService(…)

Примечания

Все сервисы создаются отложенно и живут как синглтоны. Созданные экземпляры, реализующие IDisposable, освобождаются методом Dispose.

См. также



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

Used in articles