2017-02-19 6 views
0

は:C#のリストからプロパティのキー名を取得するには?私のようなリストがある場合

var ListCommandQuery = new List<dynamic> { }; 

ListCommandQuery.Add( 
new { User_ID = "4", User_Name = "jhony" , Mobile_Phone = 054175548999}); 

を、私は唯一のプロパティキーの名前ではない値
を印刷したいので、結果は私が表示されます:

User_ID 
User_Name 
Mobile_Phone 

の代わり:

4 
jhony 
054175548999 

これはどのように行うことができますか?匿名オブジェクトで

+2

反射を使用する必要があります – Sparrow

+1

私の怠け者はJSON.NETを参照し、組み込みの能力を使って 'JObject'に' dynamic'をキャストします。もちろん、 'JObject'は、' .ToObject'メソッドを使ってすべてのフィールド名への 'Dictionary 'インタフェースを提供します。 – code4life

+0

http://stackoverflow.com/questions/2634858/how-do-i-reflect-over-the-members-of-dynamic-objectを参照してください。 –

答えて

2

匿名型を使用するときは、型定義を必要とする

​​

名は、DynamicObjectのようにキーが、実際のプロパティではありません。コンパイラは、実際のクラスをバックグラウンドで作成します。オブジェクトがIDictoneryであるExpandoObjectとは異なり

+0

ありがとう、それは完璧に動作します と短いコードは常に私の好意です。 とその説明は、あなたのために、後ろに理由を理解するのが良かった:) –

関連する問題