private SimpleObjectSerializer(object Value, SimpleObjectFieldSerializationMode FieldMode, DefinitionList Types) : base(Value, Types) { this.FieldMode = FieldMode; if (IsEmpty) { return; } if (IsArray) { Children = GetArrayValues().ToArray(); } else if (TypeCode == TypeCode.Object) { this.CustomSerializer = Object as ICustomSerializer; if (CustomSerializer != null && CustomSerializer.Initialize(this)) { return; } Children = GetFields().ToArray(); } else if (TypeCode == TypeCode.String) { StringIndex = defs.Strings.Add((string)Value); } }
public SimpleObjectSerializer(object Value, SimpleObjectFieldSerializationMode FieldMode) : this(Value, FieldMode, new DefinitionList()) { }
public static byte[] Serialize(object o, SimpleObjectFieldSerializationMode FieldMode) { var os = new SimpleObjectSerializer(o, FieldMode); return(os.Serialize()); }