C# 如何一次调用参数化方法以在多个操作中自动执行它
我正在开发一个C# 如何一次调用参数化方法以在多个操作中自动执行它,c#,asp.net-core,.net-5,C#,Asp.net Core,.net 5,我正在开发一个Asp.net核心5targeted.net 5。 在控制器中我有以下方法: private void LoadRelatedModelProperties(ref SchoolSubjectModel model) { model.Branches = _genericRepo.Get<Branche>(); model.Semesters = _genericRepo.Get<Semester>();
Asp.net核心5
targeted.net 5
。
在控制器中
我有以下方法:
private void LoadRelatedModelProperties(ref SchoolSubjectModel model)
{
model.Branches = _genericRepo.Get<Branche>();
model.Semesters = _genericRepo.Get<Semester>();
model.FormationYears = _genericRepo.Get<FormationYear>();
}
例2:
public async Task<IActionResult> Create(SchoolSubjectModel model)
{
// Some logic here
LoadRelatedModelProperties(ref model);
return View(model);
}
公共异步任务创建(SchoolSubjectModel)
{
//这里有些逻辑
LoadRelatedModelProperties(参考模型);
返回视图(模型);
}
这将与其他控制器中的其他操作一起重复
问题:
是否有任何方法或技术可以一次性调用此方法,并在运行时从调用的操作将模型传递给它?好的两件事。。。首先,为什么要使用“ref”传递SchoolSubjectModel?这是结构还是类?第二,你能发布SchoolSubjectModel的代码吗?因为如果它只有3个属性,那么您可能会在控制器的构造函数中构造这个对象,并将其存储在类级字段中。我认为这个问题没有任何意义。该方法已在运行时被调用,但由于它需要一个参数,因此不能只调用一次。对于完全相同的模型,您希望每个请求只执行LoadRelatedModelProperties一次吗?@Akade是的,但我不想在所有操作中重复它扫描您指定操作的含义吗?这种模型的预期寿命是多少?
public async Task<IActionResult> Create(SchoolSubjectModel model)
{
// Some logic here
LoadRelatedModelProperties(ref model);
return View(model);
}