使用interface参数调用类构造函数

时间:2017-05-06 06:50:43

标签: c# dependency-injection interface signalr

我目前正在开发一个使用 SignalR 的项目。 constructor Startup()需要是无参数的,这意味着调用我需要的ChatHub构造函数来使用下面的代码。

public void Configuration(IAppBuilder app)
{
    GlobalHost.DependencyResolver.Register(
        typeof(ChatHub),
        () => new ChatHub(
            new ConnectionService(null));


    app.MapSignalR();
}

我遇到的问题是ConnectionService的参数需要一个interface的参数

public partial class ConnectionService : IConnectionService
{
    private readonly IRepository<Connection> _connectionRepository;

    public ConnectionService(IRepository<Connection> connection)
    {
        this._connectionRepository = connection;
    }
}

相对较新的界面,我知道你无法创建interface的实例,这意味着我无法将其传递到constructor,所以甚至不确定如果我想做的事情甚至可以完成,那么任何帮助或解决方案的链接都会受到赞赏。

1 个答案:

答案 0 :(得分:0)

传入实现该接口的具体类。它可以是用于测试目的或实际实现的模拟。