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; }
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); }
internal static ICorrelationProvider GetCorrelationProvider(Type interfaceType) { CorrelationMethodResolver resolver = GetResolver(interfaceType); return(resolver.CorrelationProvider); }