File tree Expand file tree Collapse file tree 1 file changed +7
-5
lines changed Expand file tree Collapse file tree 1 file changed +7
-5
lines changed Original file line number Diff line number Diff line change 11using System ;
2+ using System . Collections . Generic ;
23
34namespace Bridge . Ioc
45{
56 public class SingleInstanceResolver : IResolver
67 {
7- private object _singleInstance ;
8+ private static Dictionary < Type , object > _singleInstances ;
89
910 public Func < object > Resolve { get ; private set ; }
1011
1112 public SingleInstanceResolver ( IIoc ioc , Type type )
1213 {
1314 Resolve = ( ) =>
1415 {
16+ object singleInstance ;
1517 // first resolve. Using transient resolver
16- if ( _singleInstance == null )
18+ if ( ! _singleInstances . TryGetValue ( type , out singleInstance ) )
1719 {
1820 var transientResolver = new TransientResolver ( ioc , type ) ;
19- _singleInstance = transientResolver . Resolve ( ) ;
21+ singleInstance = transientResolver . Resolve ( ) ;
22+ _singleInstances . Add ( type , singleInstance ) ;
2023 }
21-
22- return _singleInstance ;
24+ return singleInstance ;
2325 } ;
2426 }
2527 }
You can’t perform that action at this time.
0 commit comments