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