/// <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); } }
/// <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); } }