コード例 #1
0
        public CollectonReader(IReadOnlyCollection <object> collection, IMappingInfoProvider mappingInfoProvider)
        {
            _mappingInfoProvider  = mappingInfoProvider;
            _collectionEnumerator = collection.GetEnumerator();

            HasRows    = collection.Count > 0;
            FieldCount = _mappingInfoProvider.MappingsCollection.Count;
        }
コード例 #2
0
        public bool TryGetMappingForKey(TKey value, out IMappingInfoProvider mapping)
        {
            if (_lsm != null)
            {
                bool ret = _lsm.TryGetMappingForKey(value, out var x);
                mapping = x;
                return(ret);
            }

            if (_rsm != null)
            {
                bool ret = _rsm.TryGetMappingForKey(value, out var x);
                mapping = x;
                return(ret);
            }

            throw new InvalidOperationException("Both lsm and rsm are null!");
        }
コード例 #3
0
 public void DeleteMapping(IMappingInfoProvider mapping)
 {
     Do <IMappingInfoProvider>(
         lsm => lsm.DeleteMapping((PointMapping <TKey>)mapping),
         rsm => rsm.DeleteMapping((RangeMapping <TKey>)mapping));
 }
コード例 #4
0
 public IMappingInfoProvider MarkMappingOffline(IMappingInfoProvider mapping)
 {
     return(Do <IMappingInfoProvider>(
                lsm => lsm.MarkMappingOffline((PointMapping <TKey>)mapping),
                rsm => rsm.MarkMappingOffline((RangeMapping <TKey>)mapping)));
 }
コード例 #5
0
 protected void VerifyMapping(IMappingInfoProvider mapping)
 {
     Assert.IsNotNull(mapping);
 }