// TODO: Need to aquire a lock here. public void Register(IPropBagMapperKeyGen mapRequest) { if (!_sealedPropBagMappers.ContainsKey(mapRequest)) { _unSealedPropBagMappers.GetOrAdd(mapRequest); } }
// TODO: Need to protect this with a lock. public IPropBagMapperGen GetMapperToUse(IPropBagMapperKeyGen mapRequest) { System.Diagnostics.Debug.WriteLine($""); if (_sealedPropBagMappers.TryGetValue(mapRequest, out IPropBagMapperGen result)) { return(result); } _unSealedPropBagMappers.GetOrAdd(mapRequest); SealThis(pCntr++); result = _sealedPropBagMappers[mapRequest]; return(result); }
private IPropBagMapperKeyGen GetPropBagMapperPromise(IPropBagMapperKeyGen key) { return(key); }
private IPropBagMapperGen GetPropBagMapperReal(IPropBagMapperKeyGen key) { return(key.CreateMapper(key)); }