Example #1
0
 public static T GetOrAdd <T>(this MetadataCollection <T> collection, string key, Func <T> factory)
     where T : class, IMetadataItem
 {
     if (!collection.ContainsKey(key))
     {
         var item     = factory();
         var writable = collection.GetWritable();
         writable[key] = item;
         return(item);
     }
     return(collection[key]);
 }