private void CheckParameterType(ParamObject[] arrParams, int paramIndex, System.Type expectedType) { ParamObject po = arrParams[paramIndex]; if (po.Value != null) { if (po.Value.GetType().IsSubclassOf(expectedType) == false && po.Value.GetType() != expectedType) { throw new System.ApplicationException(string.Format("第{0}的参数类型错误,应该是{1}类型", paramIndex + 1, expectedType.Name)); } } }
private ParamObject[] GetParamArray(ArrayList arrParams) { ParamObject[] result = new ParamObject[arrParams.Count]; for (int i = 0; i < arrParams.Count; i++) { EXP_TreeNode node = (EXP_TreeNode)arrParams[i]; result[i] = new ParamObject(VExp(node), node._Position); } return(result); }