예제 #1
0
        /// <summary>
        /// Writes the class fields.
        /// </summary>
        /// <param name="writer">The writer to which to write</param>
        public void Write(IDataWriter writer)
        {
            writer.WriteString(SourceId.ToString());
            writer.WriteString(DestId.ToString());
            writer.WriteInt32(Data.Count);
            writer.WriteString(Data[0].GetType().AssemblyQualifiedName);

            foreach (var data in Data)
            {
                data.Write(writer);
            }
        }
예제 #2
0
        /// <summary>
        /// Writes the class fields.
        /// </summary>
        /// <param name="writer">The writer to which to write</param>
        /// <param name="token">The cancellation token</param>
        public async Task WriteAsync(IDataWriter writer, CancellationToken token)
        {
            await writer.WriteStringAsync(SourceId.ToString(), token);

            await writer.WriteStringAsync(DestId.ToString(), token);

            await writer.WriteInt32Async(Data.Count, token);

            await writer.WriteStringAsync(Data[0].GetType().AssemblyQualifiedName, token);

            foreach (var data in Data)
            {
                data.Write(writer);
            }
        }