嵌套字典按类型分类

时间:2017-03-18 17:30:48

标签: c# reflection system.reflection

我试图将嵌套的Dictionary转换为其类型的嵌套类。 例如。我有这本词典:

{
    "owner": {
        "name": {
            "first": "Linh",
            "last": "Nguyen"
        },
        "age": "Nguyen"
    },
    "power": {
        "index": "1",
        "range": "5"
    }
}

我有这个嵌套类:

    public class AccountRegistrationViewModel
    {
        /// <summary>
        /// Account owner.
        /// </summary>
        [Required]
        public Owner Owner { get; set; }

        /// <summary>
        /// User age.
        /// </summary>
        [Required]
        public int Age { get; set; }

        /// <summary>
        /// Account photo.
        /// </summary>
        [Required]
        public List<HttpFile> Photos { get; set; }
    }

    public class Owner
    {
        public Name Name { get; set; }
    }

    public class Name
    {
        public string First { get; set; }

        public string Last { get; set; }
    }

我有这个功能:

T Convert<T>(IDictionary<string, object> input, Type classType)
{
    // Do something.
    return T;
}

在javascript中,执行此任务非常容易,但目前,我还不知道如何使用C#来完成此任务。

有人能帮助我吗?

谢谢,

1 个答案:

答案 0 :(得分:0)

对于那些想要将嵌套字典转换为类的人。

实际上,我的问题是为Web API 2创建一个新的multipart / form-data格式化程序。我尝试过为Web API 2制作的一些格式化程序,但是在上传文件时它无法处理嵌套类。

https://gist.github.com/Danielku15/bfc568a19b9e58fd9e80 How create a MultipartFormFormatter for ASP.NET 4.5 Web API

Here是我的替代multipart / form-data格式化程序。

我的实施可能不是最好的,但至少我们可以在以后改进它。 感谢奇迹来自反思。