C#:关于方法调用事件?(重构我的代码)

C#:关于方法调用事件?(重构我的代码),c#,refactoring,C#,Refactoring,我有一个控制器,每个动作共享一个特定的参数。此外,每个方法中的第一行在操作中也是通用的 例如 我如何重构它,使我能够删除它 var object = _repository.Get(routeName); 和/或参数,但仍能像以前一样访问它们 编辑: 我使用IoC将我的所有存储库注入到类中,因此控制器有点不可用 此外,我使用的是路线: 例如 这可能也是一个问题吗?将此代码放入控制器类的构造函数中,该参数可以从请求中获取,并存储在控制器类的字段中 Request.QueryString 使“v

我有一个控制器,每个动作共享一个特定的参数。此外,每个方法中的第一行在操作中也是通用的

例如

我如何重构它,使我能够删除它

var object = _repository.Get(routeName);
和/或参数,但仍能像以前一样访问它们

编辑: 我使用IoC将我的所有存储库注入到类中,因此控制器有点不可用

此外,我使用的是路线:

例如


这可能也是一个问题吗?

将此代码放入控制器类的构造函数中,该参数可以从请求中获取,并存储在控制器类的字段中

Request.QueryString

使“var object”成为类的成员,并在构造函数中初始化它。

在类中使其成为属性是最好的。我会使用延迟初始化,这样在运行时创建对象的时间通常与创建对象的时间相同,但可以在每个操作中重复使用

public class MyClass
{
   private _YourObject;

   public MyClass(string routeName)
   {
      _yourObject =  _repository.Get(routeName);
   }
   public ActionResult Add()
   {
      ...
   }

}

路由名称是静态的吗?每次调用都一样,一直都一样,每次都一样?@Lasse:是的,总是一样。不要调用变量“object”。
Request.QueryString
public class MyClass
{
   private _YourObject;

   public MyClass(string routeName)
   {
      _yourObject =  _repository.Get(routeName);
   }
   public ActionResult Add()
   {
      ...
   }

}