/// <summary>
        /// Gets the <see cref="PropertyBagSerializationConfigurationType"/> corresponding to the specified configuration type.
        /// </summary>
        /// <param name="propertyBagSerializationConfigurationType">The type of the Property Bag serialization configuration.</param>
        /// <returns>
        /// The <see cref="PropertyBagSerializationConfigurationType"/> corresponding to the specified configuration type.
        /// </returns>
        public static PropertyBagSerializationConfigurationType ToPropertyBagSerializationConfigurationType(
            this Type propertyBagSerializationConfigurationType)
        {
            var result = new PropertyBagSerializationConfigurationType(propertyBagSerializationConfigurationType);

            return(result);
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="ObcPropertyBagSerializer"/> class.
        /// </summary>
        /// <param name="propertyBagSerializationConfigurationType">Type of configuration to use.</param>
        public ObcPropertyBagSerializer(
            PropertyBagSerializationConfigurationType propertyBagSerializationConfigurationType = null)
            : base(propertyBagSerializationConfigurationType ?? typeof(NullPropertyBagSerializationConfiguration).ToPropertyBagSerializationConfigurationType())
        {
            this.propertyBagConfiguration = (PropertyBagSerializationConfigurationBase)this.SerializationConfiguration;

            this.dictionaryStringSerializer = new ObcDictionaryStringStringSerializer(
                this.propertyBagConfiguration.StringSerializationKeyValueDelimiter,
                this.propertyBagConfiguration.StringSerializationLineDelimiter,
                this.propertyBagConfiguration.StringSerializationNullValueEncoding);

            this.configuredTypeToSerializerMap = this.propertyBagConfiguration.BuildConfiguredTypeToSerializerMap();

            this.SerializerRepresentation = new SerializerRepresentation(SerializationKind.PropertyBag, propertyBagSerializationConfigurationType?.ConcreteSerializationConfigurationDerivativeType.ToRepresentation());
        }
Beispiel #3
0
        /// <inheritdoc />
        public bool Equals(PropertyBagSerializationConfigurationType <T> other)
        {
            if (ReferenceEquals(this, other))
            {
                return(true);
            }

            if (ReferenceEquals(other, null))
            {
                return(false);
            }

            var result = this.ConcreteSerializationConfigurationDerivativeType == other.ConcreteSerializationConfigurationDerivativeType;

            return(result);
        }