Newtonsoft.Json
.
public class Foo
{
public Type Expected;
public object Result;
public Foo()
{
Expected = typeof(RootObject);
}
public void Process()
{
string json = @"{
'Foo': 'oof',
'Baz': 0,
'Bar': [
'Yeet',
'Skeet'
]
}";
Result = JsonConvert.DeserializeObject<Expected>(json); // -> doesnt work
}
}
Process()
在我可能更改了
Expected
this question
Result = ((Func<string, object>)JsonConvert.DeserializeObject).Method.MakeGenericMethod(Expected).Invoke(null, new object[]{json});
真管用!á
object
,这是很难处理的。我一直想把结果公诸于众
打字,但就是不让我。
Result = (Expected)((Func<string, object>)JsonConvert.DeserializeObject).Method.MakeGenericMethod(Expected).Invoke(null, new object[]{json});
告诉我类型或命名空间
预期
Result
像这样的财产
public Expected Result;
但我的梦想没有实现。
我不知道我应该如何进一步处理这个问题以获得
结果
对象的类型
预期
所以我可以很容易地访问它的属性,或者如果有更好的方法来解决这个变量类型泛型方法的问题。
我有完整的(样品)标记
dotnetfiddle
,感谢您抽出时间!