से बाध्य नहीं किया जा सका मैं मॉड्यूल को कॉन्फ़िगर करने के बाद पहली बार डैगर की कोशिश कर रहा हूं, मुझे एक त्रुटि मिलती है जिसे मैं समझ नहीं पा रहा हूं।डैगर: वर्ग को
मेरे कोड है:
public class Parrot {
private Language language;
@Inject
public Parrot(Language language) {
this.language = language;
}
public void sayHello() {
System.out.println(language.getSalute());
}
}
public interface Language {
public String getSalute();
}
public class EnglishLanguage implements Language {
@Override
public String getSalute() {
return "Hello!";
}
}
मेरे मॉड्यूल
@Module(
injects = Language.class
)
public class PetShopModule {
@Provides Parrot provideParrot(Parrot parrot){
return parrot;
}
}
है और कोड में मैं इसे इस तरह से
EnglishLanguage lang=SystemApp.getSystemLanguage();
ObjectGraph objectGraph = ObjectGraph.create(new PetShopModule());
objectGraph.inject(myLanguage);
Parrot parrot = objectGraph.get(Parrot.class);
संकलक के साथ शिकायत का उपयोग करें:
error: com.example.petshop.Language could not be bound
with key com.example.petshop.Language required by com.example.petshop.PetShopModule
for com.example.petshop.PetShopModule
मैं गलत क्या कर रहा हूं?
नोट: यह केवल एक सरल उदाहरण है, वास्तविक कोड में EnglishLanguage एक प्रणाली वर्ग है, और मैं संशोधित नहीं कर सकते और न ही इसे बनाने के लिए, बस एक संदर्भ