Example #1
0
        /// <summary>
        /// Reads events from a portable reader.
        /// </summary>
        /// <typeparam name="T">Event type.</typeparam>
        /// <param name="portableReader">Reader.</param>
        /// <returns>Resulting list or null.</returns>
        protected static List <T> ReadEvents <T>(PortableReaderImpl portableReader) where T : IEvent
        {
            var count = portableReader.RawReader().ReadInt();

            if (count == -1)
            {
                return(null);
            }

            var result = new List <T>(count);

            for (var i = 0; i < count; i++)
            {
                result.Add(EventReader.Read <T>(portableReader));
            }

            return(result);
        }