예제 #1
0
 public unsafe void ReadData <T> (BTreeValue *pEntry, ushort keyType, Deserializer <T> deserializer, out T value)
 {
     using (var range = DataStream.AccessRange(pEntry->DataOffset, pEntry->DataLength)) {
         var context = new DeserializationContext(_GetKeyOfEntry, pEntry, keyType, range.Pointer, pEntry->DataLength);
         try {
             deserializer(ref context, out value);
         } finally {
             context.Dispose();
         }
     }
 }