2

我想在我的一个类中注入一个依赖项,但我不知道在类似ResharperDevExpress这样做的工具中是否有重构。

这是我的课:

   public class ClassWithInjections
   {
      private Dependency _fieldInjected;
   }

   public class Dependency
   {

   }

我希望它看起来像最终结果:(请注意,该字段现在可以通过方法初始化Initialize

   public class ClassWithInjections
   {
      private Dependency _fieldInjected;

      public void Initialize(Dependency fieldInjected)
      {
         _fieldInjected = fieldInjected;
      }
   }

我希望能够在使用鼠标光标指定我的字段时激活重构选项,然后如果我想用方法、属性或构造函数注入依赖项,则可以建议我的工具。

使用Resharper,您可以使用 'Encapsulate field' ( Ctrl++ Shift)或使用代码生成工具 ( - )R创建构造函数,但我没有找到任何选项来使用 'method' 技术注入我的依赖项。AltInsert

有人有解决方案吗?

4

2 回答 2

4

首先。您不应该使用方法注入依赖项。在这里阅读。我只会使用属性注入来解决循环依赖问题。

这留下了构造函数注入。

Resharper 可以帮助您。按下ALT+ENTER该字段并选择“在构造函数中初始化”

我没有找到任何使用“方法”技术注入我的依赖项的选项。

出色地。它不存在,因为您应该避免这种情况;)

于 2012-06-05T06:38:30.537 回答
1

您可以使用DevExpress 重构!Pro >为此目的创建 Setter Method重构选项。

于 2012-06-05T11:35:34.787 回答