/// <summary>
 /// Initializes a new instance of the <see cref="SerializerSelector"/> class.
 /// </summary>
 /// <param name="reuseReferences">if set to <c>true</c> [reuse references] (allow cycles in the object graph).</param>
 /// <param name="profiles">The profiles.</param>
 public SerializerSelector(bool reuseReferences, params string[] profiles)
 {
     this.reuseReferences = reuseReferences;
     this.profiles        = profiles;
     invalidated          = true;
     DataSerializerFactory.RegisterSerializerSelector(this);
     UpdateDataSerializers();
 }
        public static DataSerializerFactory CreateDataSerializerFactory(string profileName)
        {
            lock (SerializationProfileInitializers)
            {
                // Run all initializers
                var serializationProfileInitializers = SerializationProfileInitializers[profileName];
                var dataSerializerFactory            = new DataSerializerFactory(serializationProfileInitializers);

                return(dataSerializerFactory);
            }
        }
        public static DataSerializerFactory CreateDataSerializerFactory(string profileName)
        {
            lock (SerializationProfileInitializers)
            {
                // Try to find the profile.
                // If not existing yet, create an empty one.
                List <Action <DataSerializerFactory> > serializationProfileInitializers;
                if (!SerializationProfileInitializers.TryGetValue(profileName, out serializationProfileInitializers))
                {
                    serializationProfileInitializers = new List <Action <DataSerializerFactory> >();
                    SerializationProfileInitializers.Add(profileName, serializationProfileInitializers);
                }
                var dataSerializerFactory = new DataSerializerFactory(profileName, serializationProfileInitializers);

                return(dataSerializerFactory);
            }
        }
        public static DataSerializerFactory CreateDataSerializerFactory(string profileName)
        {
            lock (SerializationProfileInitializers)
            {
                // Try to find the profile.
                // If not existing yet, create an empty one.
                List<Action<DataSerializerFactory>> serializationProfileInitializers;
                if (!SerializationProfileInitializers.TryGetValue(profileName, out serializationProfileInitializers))
                {
                    serializationProfileInitializers = new List<Action<DataSerializerFactory>>();
                    SerializationProfileInitializers.Add(profileName, serializationProfileInitializers);
                }
                var dataSerializerFactory = new DataSerializerFactory(profileName, serializationProfileInitializers);

                return dataSerializerFactory;
            }
        }
Beispiel #5
0
 private void Initialize()
 {
     invalidated = true;
     DataSerializerFactory.RegisterSerializerSelector(this);
     UpdateDataSerializers();
 }
Beispiel #6
0
 public SerializerSelector RegisterProfile(string profileName)
 {
     RegisterFactory(DataSerializerFactory.CreateDataSerializerFactory(profileName));
     return(this);
 }
Beispiel #7
0
 /// <summary>
 /// Registers the <see cref="DataSerializer{T}"/> factory.
 /// </summary>
 /// <param name="factory">The factory.</param>
 public SerializerSelector RegisterFactory(DataSerializerFactory factory)
 {
     dataSerializerFactories.Add(factory);
     return(this);
 }