2017-01-15 3 views
0

部品リストの作成中にエラーが発生しました。 parts.addにエラーが発生しました。これは、初期化子の一部としてフィールドイニシャライザは、非静的なフィールド、メソッド、またはプロパティをリストを作成するときに参照することはできません。

リスト部品=新しいリスト(){

// 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; } 
} 
+0

は静的ですか? – NicoRiff

答えて

1

あなたは(追加呼び出すことはできません)「フィールド初期化子が非静的フィールド、メソッド、またはプロパティを参照することはできません」と言います。あなたのコードを変更します。

void SomeMethod() 
{ 
    List parts = new List(); 

    // 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; } 
} 
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 } 
} 
関連する問題