public static TAttribute GetAttribute <TAttribute>(this PropertyInfo info) where TAttribute : Attribute =>
 ReflectionCacheManager.Get(info.ReflectedType).Properties.First(p => p.Property == info).GetAttribute <TAttribute>();
 public static TypeCache GetTypeCache(this object obj) => ReflectionCacheManager.Get(obj.GetType());
 public static EnumCache GetEnumTypeCache(this Enum value) => (EnumCache)ReflectionCacheManager.Get(value.GetType());
 private void GetStaticParameters()
 {
     staticParameters = ReflectionCacheManager.Get(excludeStaticParameters.GetType()).Properties
                        .Where(p => p.GetAttribute <ParameterAttribute>() != null)
                        .Select(p => p.Property.Name).ToArray();
 }