に配列匿名オブジェクト内の各値を取得することができます私はこのはどのように私はC#の
var items = new object[]
{
new {name= "house",code=1,price= 30},
new {name= "water",code=2,price= 323},
new {name= "food",code=3,price= 45}
};
のようなオブジェクトの配列を持っている私は、(データ表の行にこれらの値のそれぞれを追加したいので、1つのオブジェクト - 1行)は、パラメータを持つメソッドを介してオブジェクトの配列です。だから、
public void Create(object[] items)
{
// table headers are created before this line.......
var table = new DataTable();
table.Rows.Add(items);
}
(私はすでに私のデータテーブルにヘッダを追加しました)
は、私は以下のコードのように実行しようが、それは単にExcelファイル内のテーブルセルに私の項目の配列内のオブジェクトのそれぞれを追加します私が何をする必要があるか、どのように私の配列をループして、行に割り当てるために各値を得るかのように。私のファイルに 期待される結果:
Name Code Price
===================
house 1 30
water 2 323
food 3 45
ありがとう(と私の質問は、十分に明確でない場合はコメントしてください)
たぶん、[この回答](http://stackoverflow.com/questions/4023462/how-do-i-automatically-display-all-properties-of- a-class-and-their-values-in/4023521#4023521)が役立ちます。 – Oliver
匿名型を使用する代わりに、この目的のために独自のクラス/構造体を実際に作成する必要があります。 – Abion47
最初の行に_local_変数 'items'を作成すると、' var {new {name = "house"、code = 1、price = 30}、/ * ... * /} 'を呼び出すと、匿名オブジェクトの配列に強く型付けされます。しかし、 'Create'のようなメソッドに渡すとすぐに、匿名型の名前がないので強く型付けすることができないので、メソッドのシグネチャでそれを記述することはできません。その場合、@ Abion47のコメントを考えてみてください。 –