字段初始值设定项无法引用非静态字段,方法或属性 - 同时创建列表

时间:2017-01-15 03:53:12

标签: c#

创建零件清单时出错。 parts.add发生错误。它说

  

字段初始值设定项无法引用非静态字段,方法或属性

代码:

List<Part> parts = new List<Part>() { 
    // Add parts to the list.
    parts.Add(new Part() { PartName = "crank arm", PartId = 1234});
    parts.Add(new Part() { PartName = "chain ring", PartId = 1334 });
    parts.Add(new Part() { PartName = "regular seat", PartId = 1434 });
    parts.Add(new Part() { PartName = "banana seat", PartId = 1444 });
    parts.Add(new Part() { PartName = "cassette", PartId = 1534 });
    parts.Add(new Part() { PartName = "shift lever", PartId = 1634 });
}

public class Part
{
    public string PartName { get; set; }
    public string PartId { get; set; }
}

2 个答案:

答案 0 :(得分:1)

您无法将Add()作为初始化程序的一部分进行调用。将您的代码更改为:

rails generate scaffold posts title:string content:text
rails destroy scaffold posts title:string content:text

答案 1 :(得分:1)

在使用集合初始化程序(see here)时,您不需要调用Add方法来添加项目,只需像使用数组一样使用逗号列出它们,然后就完成了。

List parts = new List<Part>() {
    // Add parts to the list.
    new Part() { PartName = "crank arm", PartId = 1234},
    new Part() { PartName = "chain ring", PartId = 1334 },
    new Part() { PartName = "regular seat", PartId = 1434 },
    new Part() { PartName = "banana seat", PartId = 1444 },
    new Part() { PartName = "cassette", PartId = 1534 },
    new Part() { PartName = "shift lever", PartId = 1634 }
}