2

我正在将一个项目从 c# for desktop、.net framework v4.5 移动到 Windows Phone 8。但是我现在遇到了这个错误和两个类似的错误。

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

出了什么问题?

4

3 回答 3

0

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

于 2013-03-01T22:52:53.347 回答
0

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

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

不知道你会如何解决它,除了:

  • 看看他们是否有 windows phone 8 版本
  • 实现缺失的方法
于 2013-03-01T22:38:36.127 回答
0

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

您可能将引用的 DLL 从 .NET 3.5 升级到 .NET 4.0(或 .NET 4.5)。因为方法的签名改变了,你需要在你的覆盖方法中更新你的参数列表。执行此操作时,请始终查看升级的执行摘要,或者如果您引用的 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();
    }
于 2013-07-22T00:42:53.330 回答