C# 不实现继承的抽象成员
我正在将一个项目从c#for desktop、.net framework v4.5迁移到Windows Phone 8。然而,我现在得到了这个错误和两个类似的错误 “C# 不实现继承的抽象成员,c#,.net,visual-studio,windows-phone-8,C#,.net,Visual Studio,Windows Phone 8,我正在将一个项目从c#for desktop、.net framework v4.5迁移到Windows Phone 8。然而,我现在得到了这个错误和两个类似的错误 “Downloader.Convertors.PaginatedListConvertor”未实现继承的抽象成员“Newtonsoft.Json.JsonConverter.ReadJson(Newtonsoft.Json.JsonReader,System.Type,object,Newtonsoft.Json.JsonSeria
Downloader.Convertors.PaginatedListConvertor
”未实现继承的抽象成员“Newtonsoft.Json.JsonConverter.ReadJson(Newtonsoft.Json.JsonReader,System.Type,object,Newtonsoft.Json.JsonSerializer)
”
出了什么问题?我猜在NewtonSoft代码的某个地方,有这样一个指令:
#if NET40
// an implementation of those methods
#endif
不确定如何修复,除了:
- 看看他们是否有WindowsPhone8版本
- 实现缺少的方法
Downloader.Convertors.PaginatedListConvertor标记为abstract。该特定错误中的参数列表表示覆盖方法中应该包含的参数。您可能与重写方法代码不符
您可能已将引用的DLL从.NET 3.5升级到.NET 4.0(或.NET 4.5)。由于方法的签名已更改,因此需要更新覆盖方法中的参数列表。执行此操作时,请始终查看升级的执行摘要,如果引用的DLL发生更改,请查看引用的DLL中使用的任何特定源代码。NET Reflections是此活动的一个很好的工具。它可以对您引用的DLL进行反向工程,以便您可以查看源代码。在您的情况下,它们提供源代码
原件:
public override object ReadJson(JsonReader reader, Type objectType)
{
throw new NotImplementedException();
}
新的:
看到更多的代码会很有用。也许你实现的类应该实现抽象函数?我同意Nathan的观点。我能够回答你的问题,但接下来,如果你不提供问题的细节,你的问题将不会得到很多回应。如果您需要查看其他方法签名,请参阅JSON.NET的源代码。。。在升级过程中,WriteJson和其他人也会遇到类似的问题
public override object ReadJson(JsonReader reader, Type objectType, Object obj, JsonSerializer serializer)
{
throw new NotImplementedException();
}