public static EntityConstructor GetInstance(ConstructorInfo constructorInfo) { EntityConstructor instance; if (!InstanceCache.TryGetValue(constructorInfo, out instance)) { lock (constructorInfo) { if (!InstanceCache.TryGetValue(constructorInfo, out instance)) { instance = new EntityConstructor(constructorInfo); InstanceCache.GetOrAdd(constructorInfo, instance); } } } return instance; }
public static EntityConstructor GetInstance(ConstructorInfo constructorInfo) { EntityConstructor instance; if (!InstanceCache.TryGetValue(constructorInfo, out instance)) { lock (constructorInfo) { if (!InstanceCache.TryGetValue(constructorInfo, out instance)) { instance = new EntityConstructor(constructorInfo); InstanceCache.GetOrAdd(constructorInfo, instance); } } } return(instance); }