我有 10 个控制器使用相同的代码块,但我不知道如何编写一次代码并在任何地方使用它。
我必须定义一个名为的对象:
requiredStructuralSupportParameters
,然后在对象中设置 3 个字段。
这是使用它的控制器方法之一:
public class StructureController : Controller
{
public IActionResult Index()
{
var requiredStructuralSupportParameters = new Structure.RequiredInfo()
{
Steel = "1500y",
Concrete = "5500l",
Rebar = "95000y"
};
var response = callToAPI(requiredStructuralSupportParameters);
return response.Results;
}
}
我曾尝试将该代码取出并将其放在控制器类的顶部并将其公开,但随后我的控制器无法看到它并且我收到 nullreferenceexception 错误。
所以它只在我直接把它放在控制器方法中时才有效。
有没有办法做到这一点,以便所有控制器都可以重用相同的代码块?
public class StructureController : Controller
{
protected YourType _requiredStructuralSupportParameters;
public StructureController()
{
this._requiredStructuralSupportParameters = new Structure.RequiredInfo()
{
Steel = "1500y",
Concrete = "5500l",
Rebar = "95000y"
};
}
}
然后让您的其他控制器继承您的StructureController
:
public SomeController : StructureController{
public IActionResult Index() {
var response = callToAPI(this._requiredStructuralSupportParameters);
return response.Results;
}
}
还没有测试过,但我希望你有一个想法
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句