Beispiel #1
0
 public IResourceToken Provide(string key, Func <object, object> factory)
 {
     lock (resourceTokenMutex)
     {
         if (!resourceTokens.ContainsKey(key))
         {
             resourceTokens[key] = new List <ResourceToken>();
         }
         List <ResourceToken> tokens        = resourceTokens[key];
         ResourceToken        resourceToken = new ResourceToken(token => unsubscribeResource(tokens, token), factory);
         tokens.Add(resourceToken);
         return(resourceToken);
     }
 }
Beispiel #2
0
 private void unsubscribeResource(List <ResourceToken> list, ResourceToken token)
 {
     lock (resourceTokenMutex)
         list.Remove(token);
 }