2013-03-01 77 views
1

我正在將一個項目從c#移植到桌面,.NET Framework v4.5到Windows Phone 8.但是現在我得到了這個錯誤和兩個類似的錯誤。沒有實現繼承的抽象成員

'Downloader.Convertors.PaginatedListConvertor<T>' 不實現繼承的抽象成員 'Newtonsoft.Json.JsonConverter.ReadJson(Newtonsoft.Json.JsonReader, System.Type, object, Newtonsoft.Json.JsonSerializer)'

到底哪裏出問題了?

+1

這將看到更多的代碼有用。也許你已經實現了應該實現抽象函數的類? – 2013-03-01 22:35:54

+0

我同意彌敦道。我能夠回答你的問題,但是如果你沒有提供你的問題的詳細信息,你將不會得到很多答覆你的問題。這裏是JSON.NET的源代碼,如果您需要查看其他方法簽名。 https://github.com/JamesNK/Newtonsoft.Json ...你會遇到類似的問題與WriteJson和其他人從升級 – MacGyver 2013-07-22 00:50:47

回答

0

我大膽猜測,在NewtonSoft代碼的某個地方,有這樣的指令:

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

不知道你會如何解決這個問題,除了:

  • 看看他們擁有的Windows Phone 8版本
  • 實現失蹤方法
0

我想你需要到m方舟Downloader.Convertors.PaginatedListConvertor<T>作爲抽象如果你不想在這個類中實現一些方法。

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(); 
    }