【发布时间】:2014-09-29 05:58:20
【问题描述】:
控制器类的构造函数何时被调用,如何调用?我问这个是因为在我正在维护的应用程序中,控制器的构造函数通过 dll 的接口传递,并且它们似乎是由 Dll 中的某些默认方法自动初始化的。控制器看起来像这样:
private _clientdetails
public CleintController(IClientDetails clientdetails)
{
_clientdetails = clientdetails
}
//here various members of clientdetails used via _clientdetails
这似乎只在IClientdetails clientdetails 作为参数传递给构造函数时才有效,否则我会收到错误:Type passed as var。如果我可以看到/知道如何调用控制器的构造函数,我就可以知道如何将这个初始化的接口传递给我的其他方法。
【问题讨论】:
-
new ClientController(yourParamHere)怎么样? -
@AndreiV 没有得到你的问题?
-
您是否尝试过实例化控制器,即只创建一个
new对象? -
@AndreiV 是的,我做到了。正如我在问题中提到的那样,传递
IClientDetails clientdetails会产生错误。 -
你只需要传递一个实现
IClientDetails的对象:new ClientController(clientdetails)。
标签: c# asp.net .net asp.net-mvc asp.net-mvc-3