public override IEnumerable <CustomParameterInfo> GetRequiredParameterLayout() { if (!InterceptedMethod.IsStatic) { yield return(InterceptedMethod.DeclaringType); } foreach (var el in InterceptedMethod.GetParameters()) { if (el.ParameterType.IsByRef) { yield return(el); } else { yield return(el.ParameterType.MakeByRefType()); } } }
public virtual IEnumerable <CustomParameterInfo> GetRequiredParameterLayout() { if (HasResultAsFirstParameter) { yield return((InterceptedMethod as MethodInfo).ReturnType); } if (!InterceptedMethod.IsStatic) { yield return(InterceptedMethod.DeclaringType); } foreach (var param in InterceptedMethod.GetParameters()) { yield return(param); } if (RequiresLocalToCacheOutResult) { yield return(new CustomParameterInfo((InterceptedMethod as MethodInfo).ReturnType, true)); } }