private void Register(Type type, ISerializersContainer serializers) { var instanceSerializer = type.IsInterface || type.IsAbstract; var serializerPair = myReflectionSerializersFactory.GetOrRegisterSerializerPair(type, instanceSerializer); ReflectionUtil.InvokeGenericThis(serializers, nameof(serializers.Register), type, new[] { serializerPair.Reader, serializerPair.Writer, RdId.DefineByFqn(type).Value }); }
public static void RegisterFrameworkMarshallers([NotNull] ISerializersContainer serializers) { serializers.Register(ReadByte, WriteByte, 1); serializers.Register(ReadShort, WriteShort, 2); serializers.Register(ReadInt, WriteInt, 3); serializers.Register(ReadLong, WriteLong, 4); serializers.Register(ReadFloat, WriteFloat, 5); serializers.Register(ReadDouble, WriteDouble, 6); serializers.Register(ReadChar, WriteChar, 7); serializers.Register(ReadBool, WriteBool, 8); serializers.Register(ReadVoid, WriteVoid, 9); serializers.Register(ReadString, WriteString, 10); serializers.Register(ReadGuid, WriteGuid, 11); serializers.Register(ReadDateTime, WriteDateTime, 12); serializers.Register(ReadUri, WriteUri, 13); serializers.Register(ReadRdId, WriteRdId, 14); serializers.Register(ReadSecureString, WriteSecureString, 15); serializers.Register(ReadByteArray, WriteByteArray, 31); serializers.Register(ReadShortArray, WriteShortArray, 32); serializers.Register(ReadIntArray, WriteIntArray, 33); serializers.Register(ReadLongArray, WriteLongArray, 34); serializers.Register(ReadFloatArray, WriteFloatArray, 35); serializers.Register(ReadDoubleArray, WriteDoubleArray, 36); serializers.Register(ReadCharArray, WriteCharArray, 37); serializers.Register(ReadBoolArray, WriteBoolArray, 38); //unsigned //clashes with Byte // serializers.Register(ReadUByte, WriteUByte, 41); serializers.Register(ReadUShort, WriteUShort, 42); serializers.Register(ReadUInt, WriteUInt, 43); serializers.Register(ReadULong, WriteULong, 44); //clashes with ByteArray // serializers.Register(ReadUByteArray, WriteUByteArray, 45); serializers.Register(ReadUShortArray, WriteUShortArray, 46); serializers.Register(ReadUIntArray, WriteUIntArray, 47); serializers.Register(ReadULongArray, WriteULongArray, 48); }
public ReflectionSerializersFactory([NotNull] ITypesCatalog typeCatalog, IScalarSerializers scalars = null, Predicate <Type> blackListChecker = null) { myScalars = scalars ?? new ScalarSerializer(typeCatalog, blackListChecker); Cache = new SerializersContainer(mySerializers); Serializers.RegisterFrameworkMarshallers(Cache); }