private CacheParameterInfo GetCacheParameterInfo(MethodInfo method) { CacheParameterInfo cpi = (CacheParameterInfo)_cacheParameterInfoCache[method]; if (cpi == null) { ParameterInfo[] parameters = method.GetParameters(); CacheParameterAttribute[][] parameterInfos = new CacheParameterAttribute[parameters.Length][]; for (int i = 0; i < parameters.Length; i++) { ParameterInfo p = parameters[i]; CacheParameterAttribute[] paramInfoArray = (CacheParameterAttribute[])GetCustomAttributes(p, typeof(CacheParameterAttribute)); parameterInfos[i] = paramInfoArray; } cpi = new CacheParameterInfo(parameters, parameterInfos); _cacheParameterInfoCache[method] = cpi; } return cpi; }
public CacheParameterInfo(ParameterInfo[] parameters, CacheParameterAttribute[][] cacheParameterAttributes) { Parameters = parameters; CacheParameterAttributes = cacheParameterAttributes; }