public void Serialize(Serializer serializer, Type staticType, Stream stream, object ob) { var underlyingType = Enum.GetUnderlyingType(staticType); IStaticTypeSerializer primitiveSerializer = serializer.GetTypeData(underlyingType).TypeSerializer; primitiveSerializer.Serialize(serializer, underlyingType, stream, ob); }
public void Serialize(Serializer serializer, Type staticType, Stream stream, object ob) { if (ob == null) { Primitives.WritePrimitive(stream, (uint)0); } else { Type elementType = ob.GetType().GetElementType(); Array array = (Array)ob; int length = array.Length; Primitives.WritePrimitive(stream, (uint)length + 1); IStaticTypeSerializer typeSerializer = serializer.GetTypeData(elementType).TypeSerializer; foreach (object element in array) { typeSerializer.Serialize(serializer, elementType, stream, element); } } }
public void Serialize(Stream stream, object value, Type type) { IStaticTypeSerializer serializer = GetTypeSerializer(type); serializer.Serialize(this, type, stream, value); }