public static ReflectionCache Cache(Type ownerType)
        {
            ReflectionCache cache;

            if (_Caches.TryGetValue(ownerType, out cache))
            {
                return(cache);
            }

            cache = new ReflectionCache(ownerType);
            _Caches.Add(ownerType, cache);
            return(cache);
        }
 public ReflectedType(Type ownerType)
 {
     _Cache = Cache(ownerType);
 }
 public ReflectedInstance(object owner, ReflectedType staticType, ReflectionCache cache)
 {
     this._Owner = owner;
     this._OwnerReflectedType = staticType;
     this._Cache = cache;
 }