예제 #1
0
        public CachePolicy RegisterMethodConfiguration(IConfiguredMethod <T> methodConfiguration)
        {
            var methodHandle = new ConfiguredMethodHandle <T>()
            {
                ConfiguredMethod = methodConfiguration
            };

            _configuredMethods.Add(methodHandle);

            return(methodHandle.Policy);
        }
예제 #2
0
        public static bool IsMatch <T, TResult>(this IConfiguredMethod <T> method, Expression <Func <T, TResult> > expression) where T : class
        {
            var request = ProxyRequest <T> .FromExpression(expression);

            return(method.IsMatch(request.Method, request.Parameters));
        }
예제 #3
0
        private static bool IsMatch <T, TResult>(IConfiguredMethod <T> configuredMethod, Expression <Func <T, TResult> > expression) where T : class
        {
            var proxyContext = ProxyRequest <T> .FromExpression(expression);

            return(configuredMethod.IsMatch(proxyContext.Method, proxyContext.Parameters));
        }