/// <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; } }
private void Initialize() { invalidated = true; DataSerializerFactory.RegisterSerializerSelector(this); UpdateDataSerializers(); }
public SerializerSelector RegisterProfile(string profileName) { RegisterFactory(DataSerializerFactory.CreateDataSerializerFactory(profileName)); return(this); }
/// <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); }