1
在閱讀Jimmy Bogard在AutoMapper and IoC上發表的博文後,我試着用Ninject作爲IoC來實現類似的東西。所以我知道這是一個IoC將提供一個單身實例爲IConfiguration你用它來定義對象映射。Automapper和IoC
Dim config as IConfiguration = Kernel.Get(Of IConfiguration)
Config.CreateMap(Of Source, Destination)
所以後來我寫了一個測試,以檢查什麼是映射靜態類做不同的。在以下測試中,我比較了IConfiguration和IMappingEngine的兩個不同實例,並通過了測試。
因此,我試圖找出當靜態類執行相同的事情時使用IoC與AutoMapper的目的是什麼,即每次都提供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