BaseController处理客户端工厂

时间:2019-09-14 16:39:56

标签: .net-core

我想构建一个基本控制器,可以放置一些可重用的方法,因此不必在所有控制器中放置一堆重复的代码。所以我建立了一个BaseController.cs

public class BaseController : Controller
{
    public IHttpClientFactory _clientFactory;

    public BaseController(IHttpClientFactory clientFactory)
    {
        _clientFactory = clientFactory;
    }
}

然后在我的一个contoller中执行public class TokenController : BaseController。但是然后它要我添加以下内容,但是却给我错误

public TokenController(IHttpClientFactory clientFactory)
{
    // I guess something goes here
}

但是VS Code告诉我

There is no argument given that corresponds to the required formal parameter 'clientFactory' of 'BaseController.BaseController(IHttpClientFactory)' (CS7036)

我在这里想念什么?我在JS世界很久了:)

1 个答案:

答案 0 :(得分:1)

继承没有默认构造函数的类时,必须使用以下语法将参数传递给它们:

ionic start myapp blank --type=ionic-angular

因此添加以下表达式::base(clientFactory)

在此处查看更多信息:https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/classes-and-structs/using-constructors