是否可以将DI用于非控制器方法?
例如,我有一个调用另一个类的控制器
controller.cs
public constructor(IValidator validatorObject, IClass class)
{
_validatorObject = validatorObject;
_class = class;
}
public IActionResult DoSomething()
{
_class.DoSomething("myName");
}
class.cs
public void DoSomething([FromService] IValidator, string name){}
但是编译器失败,因为我没有传入第一个参数。
谢谢 亚历克斯
答案 0 :(得分:1)
不。 FromService属性只能应用于控制器的操作方法。
但是,您可以将IValidator注入“ class.cs”的构造函数中,将其存储为私有成员,然后在DoSomething方法中使用它。