コード例 #1
0
 // TODO: Need to aquire a lock here.
 public void Register(IPropBagMapperKeyGen mapRequest)
 {
     if (!_sealedPropBagMappers.ContainsKey(mapRequest))
     {
         _unSealedPropBagMappers.GetOrAdd(mapRequest);
     }
 }
コード例 #2
0
        // 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);
        }
コード例 #3
0
 private IPropBagMapperKeyGen GetPropBagMapperPromise(IPropBagMapperKeyGen key)
 {
     return(key);
 }
コード例 #4
0
 private IPropBagMapperGen GetPropBagMapperReal(IPropBagMapperKeyGen key)
 {
     return(key.CreateMapper(key));
 }