static void BuildObjectType(Type type, ParameterInfoTO methodParameter, object[] valuedTypeList, int index) { var obj = Activator.CreateInstance(type); if (JsonConvert.DeserializeObject(methodParameter.DefaultValue.ToString()) is JObject anonymousType) { var props = anonymousType.Properties().ToList(); foreach (var prop in props) { var valueForProp = prop.Value.ToString(); type.InvokeMember(prop.Name, BindingFlags.Instance | BindingFlags.SetProperty | BindingFlags.Public, null, obj, new object[] { valueForProp }); } valuedTypeList[index] = obj; } }
static void BuildPrimitiveType(string methodParameterTypeName, ParameterInfoTO methodParameter, object[] valuedTypeList, int index) { var type = Type.GetType(methodParameterTypeName); if (type != null) { try { var provider = TypeDescriptor.GetConverter(type); var convertFrom = provider.ConvertFrom(methodParameter.DefaultValue); valuedTypeList[index] = convertFrom; } catch (Exception) { var typeConverter = TypeDescriptor.GetConverter(methodParameter.DefaultValue); var convertFrom = typeConverter.ConvertFrom(methodParameter.DefaultValue); valuedTypeList[index] = convertFrom; } } }