public AddSerializerModifier ( |
||
type | The type. | |
serializerModifierType | Type of the serializer modifier. | |
return | void |
public void AddSerializerModifier(Type type, Type serializerModifierType)
{
Argument.IsNotNull("type", type);
Argument.IsNotNull("serializerModifierType", serializerModifierType);
List<Type> serializerModifierTypes = null;
if (!_serializationModifierDefinitionsPerTypeCache.TryGetValue(type, out serializerModifierTypes))
{
serializerModifierTypes = new List<Type>();
_serializationModifierDefinitionsPerTypeCache[type] = serializerModifierTypes;
}
Log.Debug($"Adding serializer modifier '{serializerModifierType.Name}' for '{type.Name}'");
if (serializerModifierTypes.Contains(serializerModifierType))
{
Log.Debug($"Serializer modifier '{serializerModifierType.Name}' for '{type.Name}' is already registered");
return;
}
serializerModifierTypes.Add(serializerModifierType);
_serializationModifiersPerTypeCache.Remove(type);
}
public void RemovesSerializerModifier() { var serializationManager = new SerializationManager(); serializationManager.AddSerializerModifier<DynamicSerializerModifierModel, DynamicSerializerModifier>(); var modifiers = serializationManager.GetSerializerModifiers(typeof(DynamicSerializerModifierModel)); Assert.AreEqual(1, modifiers.Length); Assert.AreEqual(typeof(DynamicSerializerModifier), modifiers[0].GetType()); serializationManager.RemoveSerializerModifier<DynamicSerializerModifierModel, DynamicSerializerModifier>(); modifiers = serializationManager.GetSerializerModifiers(typeof(DynamicSerializerModifierModel)); Assert.AreEqual(0, modifiers.Length); }