internal static ParameterWrapContext GetContext(MethodWrapContext methodWrapContext, ParameterInfo parameterInfo) { MethodInfo methodInfo = methodWrapContext.methodInfo; Attribute attribute; ParameterWrapContext parameterContext; BaseAttribute LarkAttribute; parameterContext = new ParameterWrapContext(methodWrapContext, parameterInfo); IEnumerable <Attribute> attributes = parameterInfo.GetCustomAttributes(); IEnumerator <Attribute> enumerator = attributes.GetEnumerator(); while (enumerator.MoveNext()) { attribute = enumerator.Current; if (false == typeof(BaseAttribute).IsInstanceOfType(attribute)) { continue; } LarkAttribute = attribute as BaseAttribute; LarkAttribute.SaveToParameterContext(parameterContext); } parameterContext.BindAttribute(); return(parameterContext); }
private void SaveParameter() { ParameterInfo parameter; ParameterInfo[] parameterInfos = this.methodInfo.GetParameters(); ParameterWrapContext parameterWrap; for (int i = 0; i < parameterInfos.Length; i++) { parameter = parameterInfos[i]; parameterWrap = ParameterWrapContext.GetContext(this, parameter); ParameterCache.Add(parameterWrap); } ParameterCache.ForEach(x => { x.CreateBind(); }); }