private ParameterWrapper CreateParameterWrapper(ParameterInfo info) { bool isParamArray = _overload.IsParamArray(info.Position); bool isParamDict = !isParamArray && _overload.IsParamDictionary(info.Position); bool prohibitsNullItems = (isParamArray || isParamDict) && _overload.ProhibitsNullItems(info.Position); return(new ParameterWrapper( info, info.ParameterType, info.Name, (_overload.ProhibitsNull(info.Position) ? ParameterBindingFlags.ProhibitNull : 0) | (prohibitsNullItems ? ParameterBindingFlags.ProhibitNullItems : 0) | (isParamArray ? ParameterBindingFlags.IsParamArray : 0) | (isParamDict ? ParameterBindingFlags.IsParamDictionary : 0) )); }