Example #1
0
        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)
                       ));
        }