public TypeCache ByType(Type type)
 {
     if (!(ByTypeCache.ContainsKey(type)))
     {
         var tc = new TypeCache(type);
         ByNameCache.Add(tc.TypeInfo.Name, tc);
         ByTypeCache.Add(tc.TypeInfo.AsType(), tc);
     }
     return ByTypeCache[type];
 }
        public TypeCache ByName(CodeClass2 cc)
        {
            if (!(ByNameCache.ContainsKey(cc.FullName)))
            {
                var tc = new TypeCache(cc.FullName);
                ByNameCache.Add(cc.FullName, tc);
                ByTypeCache.Add(tc.TypeInfo.AsType(), tc);
            }

            return ByNameCache[cc.FullName];
        }