public class ItemCache { private static Hashtable cacheTable = new Hashtable(); public static Item GetItem( string filename ) { lock( typeof(ItemCache) ) { if( cacheTable.ContainsKey(filename.ToLower()) ) { return (Item)cacheTable[filename.ToLower()]; } Item item = new Item(filename); cacheTable.Add(filename.ToLower(),item); return item; } } private ItemCache() { } }