跳转至

ApplicationServicesContext 类

对应用程序服务的环境访问及其组成的描述。

该类不依赖任何特定的 DI 容器:唯一的集成类型是 BCL 中的 IServiceProvider。服务组成由 RegisterApplicationServices 描述,而生存期和注册方式由宿主选择。

Current 仅用于构造函数注入无法触及的地方:标记扩展、附加属性、转换器以及没有容器的代码隐藏。库服务本身通过构造函数获取依赖项,从不访问环境上下文。

命名空间: Eremex.AvaloniaUI.Controls.ApplicationServices
程序集: Eremex.Avalonia.Controls.ApplicationServices.dll
NuGet 包: Eremex.Avalonia.Controls.ApplicationServices

声明

public static class ApplicationServicesContext

属性

名称 说明
static Current { get; } 当前的服务提供程序;如果尚未设置,则为 null。

方法

名称 说明
static GetRequiredService<T>() 返回该服务;如果服务缺失,则引发 InvalidOperationException。
static GetService<T>() 返回该服务;如果服务未注册或上下文尚未初始化,则返回 null。
static RegisterApplicationServices(…) 描述应用程序服务的组成,而不依赖任何特定的 DI 容器。宿主接收服务类型/工厂对,并决定如何以及以何种生存期注册它们。
static SetCurrent(…) 设置当前的服务提供程序。在应用程序启动时调用一次。传入 null 会重置上下文(用于测试)。

另请参阅



* 本页面使用机器翻译技术翻译。

Used in articles