如何在 blazor 组件类中对自己的服务使用依赖项注入



如何在 blazor 组件类中对自己的服务使用依赖项注入?

组件类:

[Inject]
public HttpContentFormatter IHttpContentFormatter { 
     get; 
     set; 
}

假设应用是客户端 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 

我是这样做的:

  public void ConfigureServices(IServiceCollection services)
    {
        services.AddSingleton<IHttpContentFormatter, HTTPContentFormatter>();
    }

AddXxxx 方法的第二个类型参数是要实现 IHttpContentFormatter 接口的具体类型。 那么@Inject声明就像你说的那样工作。

最新更新