3

我正在尝试构建 JavaScript 对象文字的 c# 近似值,以传递给 asp.net MVC 中的视图模型:

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 看到了类似的错误。

有没有更好的方法来完成我想要做的事情?

编辑:这是在 VisualStudio 2010 和 .net Framework 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 回答