Класс SimpleServiceProvider¶
Минимальная реализация IServiceProvider без зависимости от какого-либо DI-контейнера. Предназначена для приложений и тестов, которым не нужен полноценный контейнер. Приложения с контейнером регистрируют сервисы по-своему, см. RegisterApplicationServices.
Пространство имён: Eremex.AvaloniaUI.Controls.ApplicationServices
Сборка: Eremex.Avalonia.Controls.ApplicationServices.dll
NuGet-пакет: Eremex.Avalonia.Controls.ApplicationServices
Объявление¶
Конструкторы¶
| имя | описание |
|---|---|
| SimpleServiceProvider() | Конструктор по умолчанию. |
Методы¶
| имя | описание |
|---|---|
| AddSingleton(…) | Регистрирует фабрику сервиса. Экземпляр создаётся при первом запросе. Сигнатура совместима с RegisterApplicationServices: ApplicationServicesContext.RegisterApplicationServices(provider.AddSingleton); |
| AddSingleton<TService>(…) | Регистрирует готовый экземпляр под типом TService. Тип указывается явно, чтобы сервис нельзя было случайно зарегистрировать под его конкретным классом вместо интерфейса. |
| Dispose() | Освобождает созданные сервисы, реализующие IDisposable. |
| GetService(…) |
Примечания¶
Все сервисы создаются отложенно и живут как синглтоны. Созданные экземпляры, реализующие IDisposable, освобождаются методом Dispose.
См. также¶
- пространство имён Eremex.AvaloniaUI.Controls.ApplicationServices
* Эта страница переведена с использованием технологий машинного перевода.