32 lines
852 B
C#
32 lines
852 B
C#
using System.IO;
|
|
|
|
namespace BITKit
|
|
{
|
|
public class IEnumerableSupport:NetMessageReader<object[]>
|
|
{
|
|
public override object[] ReadBinary(BinaryReader reader)
|
|
{
|
|
var length = reader.ReadInt32();
|
|
var objects = new object[length];
|
|
for (int i = 0; i < length; i++)
|
|
{
|
|
var count = reader.Read();
|
|
objects[i] = BITBinary.ReadAsValue(reader.ReadBytes(count));
|
|
}
|
|
return objects;
|
|
}
|
|
|
|
public override void WriteBinary(BinaryWriter writer, object[] value)
|
|
{
|
|
writer.Write(value.Length);
|
|
foreach (var x in value)
|
|
{
|
|
var bytes = BITBinary.WriteAsBytes(x);
|
|
writer.Write(bytes.Length);
|
|
writer.Write(bytes);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|