如何在blazor组件类中为自己的服务使用依赖项注入?
组件类:
[Inject]
public HttpContentFormatter IHttpContentFormatter {
get;
set;
}
答案 0 :(得分:4)
假设您的应用程序是客户端Blazor,则应将对象添加到DI容器中,如下所示:
public class Startup
{
public void ConfigureServices(IServiceCollection services)
{
services.AddSingleton<IHttpContentFormatter>();
}
public void Configure(IComponentsApplicationBuilder app)
{
app.AddComponent<App>("app");
}
}
然后在组件中注入这样的对象:
@inject IHttpContentFormatter HttpContentFormatter
答案 1 :(得分:0)
我是这样做的:
public void ConfigureServices(IServiceCollection services)
{
services.AddSingleton<IHttpContentFormatter, HTTPContentFormatter>();
}
AddXxxx方法的第二个类型参数是要实现IHttpContentFormatter接口的具体类型。然后@Inject声明就像您说的那样工作。