【发布时间】:2020-11-11 04:15:37
【问题描述】:
我有两个模型类IntroModel 和PhonePageModel。这些都是 WCF 合同。
我正在调用一个返回 JSON 的 API,并假设我以字符串格式存储它。
String myApiData = myAPI.getTodaysInfo();
使用函数枚举参数,我想反序列化为正确的模型类型
IntroPageModel introPageModel = null;
PhonePageModel phonePageModel = null;
if (enumVal == myEnums.IntroPage)
{
introPageModel = JsonConvert.DeserializeObject<IntroPageModel>(myApiData);
}
else if (enumVal == myEnums.PhonePageModel)
{
phonePageModel = JsonConvert.DeserializeObject<PhonePageModel>(myApiData);
}
这在我的代码后面留下了问题,尽管检查哪个模型不为空以知道以后要使用哪个模型。相反,我是否可以使用动态但仍确保来自 myApiData 的信息根据正确的 WCF 页面模型得到正确验证?
dynamic myPageModel = null;
if (enumVal == myEnums.IntroPage)
{
myPageModel = JsonConvert.DeserializeObject<IntroPageModel>(myApiData);
}
else if (enumVal == myEnums.PhonePageModel)
{
myPageModel = JsonConvert.DeserializeObject<PhonePageModel>(myApiData);
}
【问题讨论】: