public void Clear(Type type)
{
Argument.IsNotNull("type", type);
lock (_lock)
{
_fieldsToSerializeCache.Remove(type);
_catelPropertiesToSerializeCache.Remove(type);
_regularPropertiesToSerializeCache.Remove(type);
var key1 = GetCacheKey(type, true);
var key2 = GetCacheKey(type, false);
_catelPropertyNamesCache.Remove(key1);
_catelPropertyNamesCache.Remove(key2);
_catelPropertiesCache.Remove(key1);
_catelPropertiesCache.Remove(key2);
_regularPropertyNamesCache.Remove(type);
_regularPropertiesCache.Remove(type);
_fieldNamesCache.Remove(type);
_fieldsCache.Remove(type);
_serializerModifierCache.Remove(type);
_serializationModifierDefinitionsPerTypeCache.Remove(type);
_serializationModifiersPerTypeCache.Remove(type);
}
CacheInvalidated.SafeInvoke(this, () => new CacheInvalidatedEventArgs(type));
}