Ejemplo n.º 1
0
        /// <summary>
        /// 获取参数列表对应的值列表
        /// </summary>
        /// <param name="pInfos"></param>
        /// <param name="args"></param>
        /// <returns></returns>
        private object[] GetPara(ParameterInfo[] pInfos, Dictionary <string, object> args)
        {
            apiAllocator.ExtData = args ?? throw new NullReferenceException("ext data is null!!");
            List <object> ps = new List <object>();

            foreach (var pInfo in pInfos)
            {
                if (pInfo.ParameterType == typeof(Dictionary <string, object>))
                {
                    ps.Add(args);
                }
                else
                {
                    try
                    {
                        var result = apiAllocator.GetParamterValue(pInfo);
                        ps.Add(result);
                    }
                    catch (Exception e)
                    {
                        Trace.WriteLine(e);
                        ps.Add(null);
                    }
                }
            }
            return(ps.ToArray());
        }