private static CorrelationMethodResolver GetResolver(Type interfaceType)
 {
     CorrelationMethodResolver resolver = null;
     cachedTypeResolver.TryGetValue(interfaceType, out resolver);
     if (resolver == null)
     {
         lock (mutex)
         {
             cachedTypeResolver.TryGetValue(interfaceType, out resolver);
             if (resolver == null)
             {
                 resolver = new CorrelationMethodResolver(interfaceType);
                 cachedTypeResolver.Add(interfaceType, resolver);
             }
         }
     }
     return resolver;
 }
Esempio n. 2
0
        private static CorrelationMethodResolver GetResolver(Type interfaceType)
        {
            CorrelationMethodResolver resolver = null;

            cachedTypeResolver.TryGetValue(interfaceType, out resolver);
            if (resolver == null)
            {
                lock (mutex)
                {
                    cachedTypeResolver.TryGetValue(interfaceType, out resolver);
                    if (resolver == null)
                    {
                        resolver = new CorrelationMethodResolver(interfaceType);
                        cachedTypeResolver.Add(interfaceType, resolver);
                    }
                }
            }
            return(resolver);
        }
Esempio n. 3
0
        internal static ICorrelationProvider GetCorrelationProvider(Type interfaceType)
        {
            CorrelationMethodResolver resolver = GetResolver(interfaceType);

            return(resolver.CorrelationProvider);
        }