ApplicationServicesContext 类¶
对应用程序服务的环境访问及其组成的描述。
该类不依赖任何特定的 DI 容器:唯一的集成类型是 BCL 中的 IServiceProvider。服务组成由 RegisterApplicationServices 描述,而生存期和注册方式由宿主选择。
Current 仅用于构造函数注入无法触及的地方:标记扩展、附加属性、转换器以及没有容器的代码隐藏。库服务本身通过构造函数获取依赖项,从不访问环境上下文。
命名空间: Eremex.AvaloniaUI.Controls.ApplicationServices
程序集: Eremex.Avalonia.Controls.ApplicationServices.dll
NuGet 包: Eremex.Avalonia.Controls.ApplicationServices
声明¶
属性¶
| 名称 | 说明 |
|---|---|
| static Current { get; } | 当前的服务提供程序;如果尚未设置,则为 null。 |
方法¶
| 名称 | 说明 |
|---|---|
| static GetRequiredService<T>() | 返回该服务;如果服务缺失,则引发 InvalidOperationException。 |
| static GetService<T>() | 返回该服务;如果服务未注册或上下文尚未初始化,则返回 null。 |
| static RegisterApplicationServices(…) | 描述应用程序服务的组成,而不依赖任何特定的 DI 容器。宿主接收服务类型/工厂对,并决定如何以及以何种生存期注册它们。 |
| static SetCurrent(…) | 设置当前的服务提供程序。在应用程序启动时调用一次。传入 null 会重置上下文(用于测试)。 |
另请参阅¶
* 本页面使用机器翻译技术翻译。