Je suis très nouveau pour Autofac et non en mesure de comprendre la syntaxe d'enregistrement. Je suivants calsses/interfaces:Autofac - Enregistrement type d'instance qui prend interface comme paramètre
//Interface
public interface ISender
{
void Send();
}
//implementations
public class Post : ISender
{
public void Send()
{
//Post implementation
}
}
public class Email : ISender
{
public void Send()
{
//Email implementation
}
}
et une classe qui appelle ces implémentations
public class Consumer
{
ISender Sender;
public Consumer(ISender sender)
{
Sender = sender
}
public void Act()
{
Sender.Send();
}
}
Maintenant que la mise en œuvre d'appel doit décider dans un contrôleur, donc j'ai essayé d'utiliser iIndex de this page comme :
public calss PostController
{
Consumer ConsumerObject;
public PostController(IIndex<string, Consumer> consumer)
{
ConsumerObject = consumer["post"];
}
}
public class EmailController
{
Consumer ConsumerObject;
public PostController(IIndex<string, Consumer> consumer)
{
ConsumerObject = consumer["email"];
}
}
Premièrement, est-ce correct ou faisable? Maintenant, le problème est que je ne comprends pas comment s'inscrire dans Autofac. Alors, comment pouvons-nous enregistrer Consumer et ISender dans Autofac? S'il vous plaît suggérer s'il y a une meilleure/alternative.