J'utilise Autofac 2.4.5.724 sous vb.net 2010. J'ai plusieurs classes sans constructeurs par défaut que je veux résoudre par autofac, et je veux les enregistrer en utilisant RegisterAssemblyTypes (ne pas enregistrer les classes un par un). C'est possible?Autofac RegisterAssemblyTypes pour les classes sans constructeur par défaut
Mon interface est comme ceci:
Namespace Repo
Public Interface IPeople
Function All() As IList(Of RCO.People)
End Interface
End Namespace
La mise en œuvre est comme ceci:
Namespace Repo
Public Class People
Inherits Base
Implements IPeople
Public Sub New(ByVal cs As String)
MyBase.New(cs)
End Sub
Public Function All() As IList(Of RCO.People) Implements IPeople.All
...
End Function
End Class
End Namespace
Je peux enregistrer les cours, un par un comme celui-ci:
Dim builder = New ContainerBuilder
builder.Register(
Function(x) New MyLib.Repo.People("Data Source=localhost...")
).As(Of MyLib.Repo.IPeople)()
Dim container = builder.Build
Dim peep = container.Resolve(Of MyLib.Repo.IPeople)()
Mais je Je ne veux pas enregistrer les cours un par un, je veux autofac pour scanner mon assemblage:
Dim builder = New ContainerBuilder
builder.RegisterAssemblyTypes(Reflection.Assembly.Load("MyLib")).Where(
Function(x) x.Namespace = "Repo").AsImplementedInterfaces() ...what else?...
Dim container = builder.Build
Dim peeprepo = container.Resolve(Of ReportCenterLib.Repo.IPeople)()
Sinon, puis-je mettre le paramètre constructeur pendant la résolution?
Dim peeprepo = container.Resolve(Of ReportCenterLib.Repo.IPeople)(...here?...)