示例#1
0
 /// <summary>
 /// Writes a System.Segment object into this stream.
 /// </summary>
 /// <param name="stream">This stream.</param>
 /// <param name="mapping">A System.Segment object.</param>
 internal static void WriteSegmentMapping(this Stream stream, SegmentMapping mapping, bool validityCheck = false)
 {
     if (validityCheck)
     {
         stream.WriteCheckCode(IOChecks.Common);
     }
     stream.WriteInt32(mapping.OriginalStartPosition);
     stream.WriteInt32(mapping.OriginalEndPosition);
     stream.WriteInt32(mapping.MappingStartPosition);
     stream.WriteInt32(mapping.MappingEndPosition);
 }
示例#2
0
 /// <summary>
 /// Reads a System.Segment object from this stream.
 /// </summary>
 /// <param name="stream">This stream.</param>
 /// <returns>A System.Segment object.</returns>
 internal static SegmentMapping ReadSegmentMapping(this Stream stream, bool validityCheck = false)
 {
     if (!validityCheck || stream.Check(IOChecks.Common))
     {
         var b = new SegmentMapping();
         b.OriginalStartPosition = stream.ReadInt32();
         b.OriginalEndPosition   = stream.ReadInt32();
         b.MappingStartPosition  = stream.ReadInt32();
         b.MappingEndPosition    = stream.ReadInt32();
         return(b);
     }
     else
     {
         throw new InvalidDataException(IOResources.ERR_StreamExtension_DataIrrecognizable);
     }
 }