首页 > 解决方案 > 从存储在其他变量 C# 中的类型转换变量

问题描述

我需要从存储在其他变量中的类型转换动态变量。

例如:

dynamic dynamicVar = 3;
string type = "double";
var valueConverted = (type) dynamicVar;

我知道这不起作用,但是有没有办法做这样的事情?

我正在收到这样的 JSON:

 

       [
            {
                "name": "Parameter1",
                "description": "Description",
                "value": "Value",
                "type": "string"
            },
                {
                "name": "Parameter1",
                "description": "Description",
                "value": false,
                "type": "boolean"
        
            },
                {
                "name": "Parameter3",
                "description": "Description",
                "value": 3,
                "type": "double"
            }
        ]

我需要将此 json 转换为这样的对象:

public class Parameters
    {
        public string Parameter1 { get; set; }

        public bool Parameter2 { get; set; }

        public double? Parameter3 { get; set; }
}

当我尝试存储 Parameter3 时,我收到了错误: 无法将 Int 转换为 Double

标签: c#asp.netdynamictype-conversion

解决方案


如果我理解正确,您可以首先从您的 JSON生成 JSON 模式:

    var schema = JsonSchema.FromSampleJson("...");

然后您可以使用NJsonSchema从中生成类。HTH。


推荐阅读