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];
 }