将变量作为泛型类型传递



我正在尝试从基类中获取当前类类型,并将其作为参数传递。

代码应该执行以下操作:

public BaseClass
{
    public BaseClass()
    {
        var MyType = GetType();
        var A = JsonConvert.DeserializeObject<MyType>(...);
    }
}

因此,如果像这样实例化:

public class MyObject : BaseClass

那么最后一个调用将做:

 var A = JsonConvert.DeserializeObject<MyObject>(...);

但我找不到如何将类型作为参数传递。

知道如何实现这一点吗?

您可以使用

JsonConvert.DeserializeObject(string value, Type type) .它允许您指定要构建的对象的类型。

public BaseClass
{
    public BaseClass()
    {
        var MyType = GetType();
        var A = JsonConvert.DeserializeObject("{ json blob }", MyType);
    }
}

A将是类型 MyType . JsonConvert.DeserializeObject返回一个object您必须在某个时候将结果转换为您想要的结果。

文档可在此处获得

相关内容

  • 没有找到相关文章

最新更新