Ven*_*sky 5 c# asp.net-core blazor
如果我使用Inject
属性并尝试注入未注册的服务,则会出现错误There is no registered service of type X
。
那么我怎样才能注入服务而不给我这个错误,如果服务没有注入,服务将只是空。这可能吗?
例如
Foo
如果未注册,这会给我一个错误。
[Inject]
protected Foo Foo { get; set; }
Run Code Online (Sandbox Code Playgroud)
但我想允许它Foo
没有注册,在这种情况下它将是null
。
你可以这样做
@using Microsoft.Extensions.DependencyInjection
@inject IServiceProvider ServiceProvider
@code
{
private IMyService MyService;
protected override void OnInitialized()
{
MyService = ServiceProvider.GetService<IMyService>();
base.OnInitialized();
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1731 次 |
最近记录: |