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);
    }