Прочитав сообщение в блоге Джимми Богарда о AutoMapper и IoC , я попытался реализовать нечто подобное, используя Ninject в качестве IoC.Итак, насколько я понимаю, IoC предоставит Singleton Instance для IConfiguration , который вы используете для определения сопоставления объектов.
Dim config as IConfiguration = Kernel.Get(Of IConfiguration)
Config.CreateMap(Of Source, Destination)
Итак, позже я написалпроверьте, что статический класс Mapper делает по-другому.В следующем тесте я сравниваю 2 разных экземпляра IConfiguration и IMappingEngine и тест пройден.
Поэтому я пытаюсь выяснить, какова цель использования IoCс AutoMapper, когда статический класс Mapper делает то же самое, то есть каждый раз предоставляет одноэлементный экземпляр IConfiguration.
<TestMethod()>
Public Sub Test()
Dim c1 As IConfiguration = Mapper.Configuration
Dim c2 As IConfiguration = Mapper.Configuration
Dim e1 As IMappingEngine = Mapper.Engine
Dim e2 As IMappingEngine = Mapper.Engine
Assert.AreSame(c1, c2)
Assert.AreSame(e1, e2)
End Sub