示例#1
0
        // NOTE: This section looks horrible - it is, but it's how .Net natively supports Function and Action classes - up to 16 generic parameters.
        //       Maybe one day we won't need these.

        private static void DeleteCachedData_Proxy <TResult>(this ICacheProvider cacheProvider, ICacheSettings settings, String methodType, String methodName, MethodDelegate <TResult> @delegate, params Object[] args)
        {
            // Default cache settings
            settings = settings ?? cacheProvider.DefaultSettings;

            #region Build CacheKey

            String cacheKey = settings.CacheKeyOverride;

            if (String.IsNullOrWhiteSpace(cacheKey))
            {
                cacheKey = cacheProvider.BuildCacheKey(String.Format("{0}.{1}", methodType, methodName), args);
            }

            #endregion

            settings.CacheKeyOverride = cacheKey;

            cacheProvider.DeleteCachedData <TResult>(settings, @delegate, args);
        }