示例#1
0
        public static DescribedSerializationBase ToDescribedSerializationUsingSpecificFactory <T>(
            this T objectToPackageIntoDescribedSerializationBase,
            SerializerRepresentation serializerRepresentation,
            ISerializerFactory serializerFactory,
            SerializationFormat serializationFormat,
            AssemblyMatchStrategy assemblyMatchStrategy = AssemblyMatchStrategy.AnySingleVersion)
        {
            if (serializerRepresentation == null)
            {
                throw new ArgumentNullException(nameof(serializerRepresentation));
            }

            if (serializerFactory == null)
            {
                throw new ArgumentNullException(nameof(serializerFactory));
            }

            if (serializationFormat == SerializationFormat.Invalid)
            {
                throw new ArgumentOutOfRangeException(Invariant($"'{nameof(serializationFormat)}' == '{SerializationFormat.Invalid}'"), (Exception)null);
            }

            var serializer = serializerFactory.BuildSerializer(serializerRepresentation, assemblyMatchStrategy);

            var ret = objectToPackageIntoDescribedSerializationBase.ToDescribedSerializationUsingSpecificSerializer(serializer, serializationFormat);

            return(ret);
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="StringDescribedSerialization"/> class.
 /// </summary>
 /// <param name="payloadTypeRepresentation">The type of object serialized.</param>
 /// <param name="serializerRepresentation">The serializer used to generate the payload.</param>
 /// <param name="serializedPayload">The serialized payload.</param>
 public StringDescribedSerialization(
     TypeRepresentation payloadTypeRepresentation,
     SerializerRepresentation serializerRepresentation,
     string serializedPayload)
     : base(payloadTypeRepresentation, serializerRepresentation)
 {
     this.SerializedPayload = serializedPayload;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="BinaryDescribedSerialization"/> class.
 /// </summary>
 /// <param name="payloadTypeRepresentation">The type of object serialized.</param>
 /// <param name="serializerRepresentation">The serializer used to generate the payload.</param>
 /// <param name="serializedPayload">The serialized payload.</param>
 public BinaryDescribedSerialization(
     TypeRepresentation payloadTypeRepresentation,
     SerializerRepresentation serializerRepresentation,
     byte[] serializedPayload)
     : base(payloadTypeRepresentation, serializerRepresentation)
 {
     this.SerializedPayload = serializedPayload;
 }
示例#4
0
        /// <inheritdoc />
        public ISerializer BuildSerializer(
            SerializerRepresentation serializerRepresentation,
            AssemblyMatchStrategy assemblyMatchStrategy = AssemblyMatchStrategy.AnySingleVersion)
        {
            var fallbackSerializer = this.BackingSerializerFactory.BuildSerializer(serializerRepresentation, assemblyMatchStrategy);

            var result = new ObcSimplifyingSerializer(fallbackSerializer);

            return(result);
        }
示例#5
0
        /// <summary>
        /// Initializes a new instance of the <see cref="DescribedSerializationBase"/> class.
        /// </summary>
        /// <param name="payloadTypeRepresentation">The type of object serialized.</param>
        /// <param name="serializerRepresentation">The serializer used to generate the payload.</param>
        protected DescribedSerializationBase(
            TypeRepresentation payloadTypeRepresentation,
            SerializerRepresentation serializerRepresentation)
        {
            if (payloadTypeRepresentation == null)
            {
                throw new ArgumentNullException(nameof(payloadTypeRepresentation));
            }

            if (serializerRepresentation == null)
            {
                throw new ArgumentNullException(nameof(serializerRepresentation));
            }

            this.PayloadTypeRepresentation = payloadTypeRepresentation;
            this.SerializerRepresentation  = serializerRepresentation;
        }
示例#6
0
 public virtual DescribedSerializationBase DeepCloneWithSerializerRepresentation(SerializerRepresentation serializerRepresentation)
 {
     throw new NotImplementedException("This method should be abstract.  It was generated as virtual so that you aren't forced to override it when you create a new model that derives from this model.  It will be overridden in the generated designer file.");
 }
示例#7
0
        public override DescribedSerializationBase DeepCloneWithSerializerRepresentation(SerializerRepresentation serializerRepresentation)
        {
            var result = new StringDescribedSerialization(
                this.PayloadTypeRepresentation?.DeepClone(),
                serializerRepresentation,
                this.SerializedPayload?.DeepClone());

            return(result);
        }
 /// <inheritdoc />
 public abstract ISerializer BuildSerializer(
     SerializerRepresentation serializerRepresentation,
     AssemblyMatchStrategy assemblyMatchStrategy = AssemblyMatchStrategy.AnySingleVersion);