Inferables.Internal.BindingRegistry.GetLoaderForFactory C# (CSharp) Method

GetLoaderForFactory() public method

public GetLoaderForFactory ( Type creationType ) : IFactoryLoader
creationType System.Type
return IFactoryLoader
        public IFactoryLoader GetLoaderForFactory(Type creationType)
        {
            IFactoryLoader loader = null;
            if (!customFactoryLoaderCache.TryGetValue(creationType, out loader))
            {
                lock(syncLock)
                {
                    if (!customFactoryLoaderCache.TryGetValue(creationType, out loader))
                    {
                        var definition = new CustomFactoryDefinition(creationType, this);
                        var builder = new CustomFactoryGenerator(definition);
                        loader = builder.CreateLoader();
                        customFactoryLoaderCache.Add(creationType, loader);
                    }
                }
            }

            return loader;
        }