Ejemplo n.º 1
0
 /// <summary>
 /// Add a mapping to the cache.
 /// </summary>
 /// <param name="t">The Type that this mapping belongs to.</param>
 /// <param name="mapping">The mapping to cache.</param>
 internal static void Add(Type t, ValidatedClassLevelMapping mapping)
 {
     if (cachedMappings == null)
         cachedMappings = new Dictionary<Type, ValidatedClassLevelMapping>();
     lock (cachedMappings)
     {
         cachedMappings.Add(t, mapping);
     }
 }
Ejemplo n.º 2
0
 internal static void Remove(ValidatedClassLevelMapping mapping)
 {
     if(cachedMappings != null)
     {
         lock (cachedMappings)
         {
             Type key = null;
             using (var keyEnum = cachedMappings.Keys.GetEnumerator())
             {
                 while (keyEnum.MoveNext())
                 {
                     key = keyEnum.Current;
                     var val = cachedMappings[key];
                     if (val == mapping)
                         break;
                 }
             }
             if (key != null)
                 cachedMappings.Remove(key);
         }
     }
 }