我的代码:
var configuration = await Task.Factory.StartNew(() =>
JsonConvert.DeserializeObject<IConfigurationService>(json));
在运行时因错误而失败:
Newtonsoft.Json.JsonSerializationException:'无法创建类型为..... IConfigurationService的实例。类型是接口或抽象类,无法实例化。路径'MyProperty',第2行,位置25。'
如果我将IConfigurationService替换为具体版本(实现IConfigurationService),如下所示:
var configuration = await Task.Factory.StartNew(() =>
JsonConvert.DeserializeObject<ConfigurationService>(json));
工作正常。但这击败了使用接口的目的。如何获得反序列化才能与该界面一起使用?
假设IConfigurationService很简单:
public interface IConfigurationService
{
string MyProperty{ get; set; }
}
我已经在Web上浏览了,看来我需要使用 JsonConverter ,但是所有示例都与MyProperty作为接口有关。
答案 0 :(得分:0)
我决定不需要该界面。我只是使用了具体的课程。谢谢您的所有帮助。