public override void WriteTypeData(ObjectWriter ow, BinaryWriter writer, bool writeTypes) { writer.Write(members.Length); // Names of fields foreach (FieldInfo field in members) { writer.Write(field.Name); } if (writeTypes) { // Types of fields foreach (FieldInfo field in members) { ObjectWriter.WriteTypeCode(writer, field.FieldType); } // Type specs of fields foreach (FieldInfo field in members) { ow.WriteTypeSpec(writer, field.FieldType); } } }
public override void WriteTypeData(ObjectWriter ow, BinaryWriter writer, bool writeTypes) { writer.Write(this.types.Length); foreach (string value in this.names) { writer.Write(value); } foreach (Type type in this.types) { ObjectWriter.WriteTypeCode(writer, type); } foreach (Type type2 in this.types) { ow.WriteTypeSpec(writer, type2); } }
public override void WriteTypeData(ObjectWriter ow, BinaryWriter writer, bool writeTypes) { writer.Write(this.members.Length); foreach (FieldInfo fieldInfo in this.members) { writer.Write(fieldInfo.Name); } if (writeTypes) { foreach (FieldInfo fieldInfo2 in this.members) { ObjectWriter.WriteTypeCode(writer, fieldInfo2.FieldType); } foreach (FieldInfo fieldInfo3 in this.members) { ow.WriteTypeSpec(writer, fieldInfo3.FieldType); } } }
private void WriteGenericArray(BinaryWriter writer, long id, Array array) { Type elementType = array.GetType().GetElementType(); if (!elementType.IsArray) { this.WriteAssembly(writer, elementType.Assembly); } writer.Write(7); writer.Write((int)id); if (elementType.IsArray) { writer.Write(1); } else if (array.Rank == 1) { writer.Write(0); } else { writer.Write(2); } writer.Write(array.Rank); for (int i = 0; i < array.Rank; i++) { writer.Write(array.GetUpperBound(i) + 1); } ObjectWriter.WriteTypeCode(writer, elementType); this.WriteTypeSpec(writer, elementType); if (array.Rank == 1 && !elementType.IsValueType) { this.WriteSingleDimensionArrayElements(writer, array, elementType); } else { foreach (object val in array) { this.WriteValue(writer, elementType, val); } } }
public override void WriteTypeData(ObjectWriter ow, BinaryWriter writer, bool writeTypes) { writer.Write(types.Length); // Names of fields foreach (string name in names) { writer.Write(name); } // Types of fields foreach (Type type in types) { ObjectWriter.WriteTypeCode(writer, type); } // Type specs of fields foreach (Type type in types) { ow.WriteTypeSpec(writer, type); } }