私はwp7で作業していますが、VSハイライトで「動的」と入力すると、アプリケーションをコンパイルして実行できますが、使用しようとするとすぐにコンパイルエラーが発生します。
私は動的キーワードを使用できないことを読みましたが、jsonの解析方法について少し迷っています(json.netとrestsharpを使用していますが、動的を使用できない場合、両方とも同じ問題に遭遇します)
たとえば、foursquare api を使用するとします。すべてのjsonデータは常に次のように返されます
{
"meta": {
"code": 200,
...errorType and errorDetail...
},
"notifications": {
...notifications...
},
"response": {
...results...
}
}
ただし、応答には異なるデータが含まれます。たとえば、ユーザー データ (ユーザー クラス) や会場データ (会場クラス) が含まれる場合があります。
肝心なのは、RootObject クラスに含まれる Response というクラスが必要になるということです。
しかし、私は同じクラス名を持つことはできません (別の名前空間に入れ始めても、そのアイデアに夢中にならない限り)。
私が考えることができる唯一の他のことは、あまりにもひどいことです
public class RootObject
{
public Response Response { get; set; }
}
public class Response
{
public User User { get; set; }
public List<Venue> Venues { get; set; }
}
この応答オブジェクトは、最終的に返される可能性のあるすべての異なるクラスを持ち、実際には、おそらく応答オブジェクトのプロパティのみが埋められます。
より良い方法はありますか?