var builder = MauiApp.CreateBuilder();
builder.Services.AddSingleton<ILocalize, Localize>();
VS
DependencyService.Register<ILocalize, Localize>();
当我想像下面的iLocalize解析时,第一个方法返回null,在使用第二个注册时,它返回实例。他们使用完全独立的容器吗?我期望像第一种方法一样注册。
将这项工作?
var localize = DependencyService.Get<ILocalize>();
。 进行registration
,只需将其设置在MauiProgram.cs
,
builder.Services.AddTransient<ILocalize, Localize>();
在注册类型后,可以将其解析或注入为依赖关系。可以使用两种方法来解决它,自动依赖性分辨率和解释依赖性分辨率
。或者您可以使用服务器界面,
readonly ILocalize _localizeService;
public MainPageViewModel(IServiceProvider serviceProvider)
{
_localizeService= serviceProvider.GetService<ILocalize>();
}
有关更多信息,您可以参考
,MauiHybrid Preload Data在渲染第一页之前。