Beispiel #1
0
    internal override void DeserializeOverride(BoundedStream stream, EventShuttle eventShuttle)
    {
        var rootStream = GetRootStream(stream);

        var length = GetFieldLength();

        Value = length != null
            ? new Streamlet(rootStream, rootStream.Position, length.ByteCount)
            : new Streamlet(rootStream, rootStream.Position);

        if (length != null)
        {
            var nullStream = new NullStream();
            stream.CopyTo(nullStream, (int)length.ByteCount, CopyToBufferSize);
        }
        else
        {
            stream.Seek(0, SeekOrigin.End);
        }
    }