2017-01-15 1 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 } 
} 
관련 문제