不实现继承的抽象成员

时间:2013-03-01 22:33:07

标签: c# .net visual-studio windows-phone-8

我正在将一个项目从c#移动到桌面,.net框架v4.5到Windows Phone 8.但是我现在收到此错误和两个类似错误。

'Downloader.Convertors.PaginatedListConvertor<T>'未实现继承的抽象成员“Newtonsoft.Json.JsonConverter.ReadJson(Newtonsoft.Json.JsonReader, System.Type, object, Newtonsoft.Json.JsonSerializer)

出了什么问题?

3 个答案:

答案 0 :(得分:0)

我猜测在NewtonSoft代码的某个地方,有一个像这样的指令:

#if NET40
// an implementation of those methods
#endif

不确定如何修复它,除了:

  • 看看他们是否有Windows Phone 8版本
  • 实施缺少的方法

答案 1 :(得分:0)

如果您不想在此类中实现某些方法,我认为您需要将Downloader.Convertors.PaginatedListConvertor<T>标记为抽象。

答案 2 :(得分:0)

该特定错误中的参数列表表示您在覆盖方法中应具有的参数。您可能与覆盖方法代码存在差异。

您可能已将引用的DLL从.NET 3.5升级到.NET 4.0(或.NET 4.5)。由于方法的签名已更改,因此需要在override方法中更新参数列表。执行此操作时,请始终查看升级的执行摘要,或者查看引用的DLL更改时引用的DLL中使用的任何特定源代码。 .NET Reflections是此活动的一个很好的工具。它可以对您引用的DLL进行反向工程,因此您可以查看源代码。在您的情况下,他们提供源代码。 http://json.codeplex.com/SourceControl/latest#readme.txt

原:

    public override object ReadJson(JsonReader reader, Type objectType)
    {
        throw new NotImplementedException();
    }

新:

    public override object ReadJson(JsonReader reader, Type objectType, Object obj, JsonSerializer serializer)
    {
        throw new NotImplementedException();
    }