3

asp.net MVCのビューモデルに渡されるJavaScriptオブジェクトリテラルのc#近似を構築しようとしています。

var obj = new dynamic[]{
    new { name: "Id", index: "Id", width: 40, align: "left" },
    new { name: "Votes", index: "Votes", width: 40, align: "left" },
    new { name: "Title", index: "Title", width: 200, align: "left"}
};

コンパイラは次のようにスローします。

"An anonymous type cannot have multiple properties with the same name"

暗闇の中で突き刺すどのプロパティがどの匿名オブジェクトに対応するかを区別できないと思いますが、LINQを使用して同様のエラーが発生しました。

私がやろうとしていることを達成するためのより良い方法はありますか?

編集:これはVisualStudio2010と.netFramework 4にあります。ただし、 Bala Rの回答は、以前のバージョンの問題に対処しているようです。

4

1 に答える 1

6

これを試してみませんか?

var obj = new[]{
    new { name= "Id", index= "Id", width= 40, align= "left" },
    new { name= "Votes", index= "Votes", width= 40, align= "left" },
    new { name= "Title", index= "Title", width= 200, align= "left"}
};

このように匿名クラス配列にアクセスできるはずです

if (obj[0].align == "left")
{
   ...
}
于 2011-04-26T19:16:26.923 に答える