Flatwhite.Provider.DefaultCacheKeyProvider.BuildWithParams C# (CSharp) Method

BuildWithParams() protected method

Build the key with provided varyByParams
protected BuildWithParams ( _IInvocation invocation, ParameterInfo parameters, string varyByParams, StringBuilder key ) : void
invocation _IInvocation
parameters System.Reflection.ParameterInfo
varyByParams string
key StringBuilder
return void
        protected virtual void BuildWithParams(_IInvocation invocation, ParameterInfo[] parameters, string[] varyByParams, StringBuilder key)
        {
            for (var i = 0; i < parameters.Length; i++)
            {
                var argKey = "*";
                if (varyByParams.Contains("*") || varyByParams.Contains(parameters[i].Name))
                {
                    var arg = invocation.GetArgumentValue(i);
                    argKey = _hashCodeGeneratorProvider.GetForType(parameters[i].ParameterType).GetCode(arg);
                }
                key.Append($"{parameters[i].ParameterType.Name}:{argKey}, ");
            }
        }