public async Task <IMethodInvocationResult> InterceptAsync(IAsyncMethodInvocation methodInvocation) { var argument = methodInvocation.GetArgument("value"); var argumentValue = (int)argument.Value; int result; return(PrecalculatedValues.TryGetValue(argumentValue, out result) ? methodInvocation.CreateResult(result) : await methodInvocation.InvokeNextAsync().ConfigureAwait(false)); }
public async Task <IMethodInvocationResult> InterceptAsync(IAsyncMethodInvocation methodInvocation) { var argument = methodInvocation.GetArgument("value"); var argumentValue = (int)argument.Value; if (argumentValue < 0) { argument.Value = -argumentValue; } return(await methodInvocation.InvokeNextAsync().ConfigureAwait(false)); }
public async Task<IMethodInvocationResult> InterceptAsync(IAsyncMethodInvocation methodInvocation) { var argument = methodInvocation.GetArgument("value"); var argumentValue = (int)argument.Value; int result; return PrecalculatedValues.TryGetValue(argumentValue, out result) ? methodInvocation.CreateResult(result) : await methodInvocation.InvokeNextAsync().ConfigureAwait(false); }
public async Task<IMethodInvocationResult> InterceptAsync(IAsyncMethodInvocation methodInvocation) { var argument = methodInvocation.GetArgument("value"); var argumentValue = (int)argument.Value; if (argumentValue < 0) { argument.Value = -argumentValue; } return await methodInvocation.InvokeNextAsync().ConfigureAwait(false); }