2017-01-12 7 views
0

どのように動的オブジェクトの値を取得するには?サンプルデータのスクリーンショットを投稿します。私はC#の新機能で、C#のオブジェクトについては何も知らない。C#dynamic

[HttpPost] 
[Route("api/TCSAPI/SaveTCS")] 
public HttpResponseMessage SaveTCS(dynamic tcsObject) 
{ 
    var track = tcsObject.GetType().GetProperty("track").GetValue(tcsObject, null); 
    return Helper.ComposeResponse(HttpStatusCode.OK, string.Empty); 
} 

enter image description here

更新: JavaScriptコンソール。私は今Abion47が言ったように型を取得することができますし、それはjオブジェクトです:これは私がAPIに

enter image description here

アップデートを送信されたデータです。このオブジェクトのデータを取得する方法は?

+0

入力値はすでに動的です。反射の必要はありません。 'var track = tcsObject.track' – Nkosi

答えて

2

あなたはただそれを手に入れます。あたかもそのタイプのものであるかのように扱い、それがうまくいかない場合はエラーを投げます。それは、弱い型の言語の振る舞いを模倣することによって、dynamicの仕組みです。

var track = tcsObject.track; 
+0

あなたの右。カテゴリはどうですか? –

+0

@SecretCodingどのカテゴリ?それが別のフィールド/プロパティの場合は、まったく同じ方法で取得します: 'tcsObject.category' – Abion47

+0

イメージ内のもの。 tcsObjectには、javascriptの配列を持つ多くのオブジェクトで構成されるカテゴリのカテゴリがあります。 tcsOject.category.Valueを実行すると、nullが返されます。 ListまたはC#のデータ型に変換する方法は? –