标签: qualified

匕首2中合格的方法注入

我成功地使用了合格字段注入构造注入和方法注入,我期望从匕首2.10将依赖项注入到Qualified方法中,例如以下代码:

public class MainActivity extends AppCompatActivity {

   @Override protected void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   setContentView(R.layout.activity_main);
   DaggerMainActivityComponent.create().inject(this);
   }

  @Named("firstName")
  @Inject
  void initFirstName(String firstName){
  }

  @Named("lastName")
  @Inject
  void initLastName(String lastName){
  }

@Module public class UserModule {

   @Named("firstName")
   @Provides
   String provideFirstUserName() {
   return "Nasser";
   }

  @Named("lastName")
  @Provides
  String provideLastUserName() {
    return "Khosravi";
  }
 }

 @Component(modules = { UserModule.class})
 public interface MainActivityComponent {

  void inject(MainActivity mainActivity);

  @Named("firstName")
  String getFirstName();

 @Named("lastName")
 String getLastName();
 }
}
Run Code Online (Sandbox Code Playgroud)

但是当我使用此代码时,我得到:
没有@Inject构造函数或@ Provides-或@ Produces-annotated方法无法提供java.lang.String。


网络上有很多关于匕首的简单教程,但它们都是相同的,我找不到有关合格方法注入的任何示例。

为什么我要方法注入?

我更喜欢方法注入而不是字段注入,因为它是:

  • 比现场注入更清晰
  • 您只需设置布雷点并调试注入的值
  • 您可以将注入的值分配给私有字段 …

java dependency-injection qualified dagger-2

5
推荐指数
1
解决办法
529
查看次数

haskell - 合格导入后的"模糊类型变量"

我有一点问题,以了解haskell中的错误消息.

例如:

import qualified Data.Map as M

test = M.empty
Run Code Online (Sandbox Code Playgroud)

此代码运行应该没有收到任何错误消息.

输出如下:

*Main> test

fromList []
Run Code Online (Sandbox Code Playgroud)

但如果我尝试这样的话

import qualified Data.Map as M

test = do print M.empty
Run Code Online (Sandbox Code Playgroud)

我收到这样的错误消息

Ambiguous type variable `k0' in the constraint:
      (Show k0) arising from a use of `print'
    Probable fix: add a type signature that fixes these type variable(s)
    In a stmt of a 'do' block: print M.empty
    In the expression: do { print M.empty }
    In an equation for `test': test = do { …
Run Code Online (Sandbox Code Playgroud)

import haskell functional-programming qualified

1
推荐指数
1
解决办法
211
查看次数