public override void WriteBytes(SerializationData data, object obj) { Array arr = (Array)obj; Type elementType = arr.GetType().GetElementType(); int elementTypeID = SerializationCtrl.GetSerializeID(elementType); int arrLength = arr.GetLength(0); data.WriteInt4B(elementTypeID); data.WriteInt4B(arrLength); long[] indices = { 0 }; for (int i = 0; i < arrLength; i++) { indices[0] = i; object val = arr.GetValue(indices); SerializationCtrl.Serialize(data, val); } }
public override void WriteBytes(SerializationData data, System.Object obj) { string str = (string)obj; byte[] strBytes = utf8.GetBytes(str); data.WriteInt4B(strBytes.Length); for (int i = 0; i < strBytes.Length; i++) { data.bytes.Add(strBytes[i]); } }
public override void WriteBytes(SerializationData data, object obj) { IList list = (IList)obj; int count = list.Count; data.WriteInt4B(count); for (int i = 0; i < count; i++) { object val = list[i]; SerializationCtrl.Serialize(data, val); } }
public override void WriteBytes(SerializationData data, object obj) { int i = (int)obj; data.WriteInt4B(i); }