2014-01-06 2 views
0
public readonly int items = 3; 
private System.Windows.Forms.TextBox[,] statsBonus = new System.Windows.Forms.TextBox[6, items]; 

"항목"변수에서이 오류가 발생합니다. 숫자 3을 사용하는 모든 필드에 3을 써야하는 대신 "items"라는 변수를 사용할 수 있도록 어떻게 만들 수 있습니까?필드 초기화 프로그램이 비 정적 필드 메서드 또는 속성을 참조 할 수 없습니다.

코드에서이 코드를 편집하고 싶다면 숫자 3을 다른 것으로 수동 변경해야합니다. 변수를 사용하여 모든 것을 변경하기 위해 변수를 변경하기 만하면됩니다.

+0

공공 읽기 전용 INT 항목을 사용합니다; 내 컴퓨터에서 작동합니다. .Net의 어떤 버전을 사용합니까? – cubitouch

+1

오류 메시지를 읽고 static을 추가하십시오. –

+0

@cubitouch .NET을 사용하는 버전은 어떻게 찾습니까? Visual Studio 2012입니다. – puretppc

답변

3

대신 readonly 사용을 사용하는 const

편집 :

둘 사이에 더 논의 차이를

, 생성자에 this SO answer

+0

제대로 실행 중입니다. 하지만이 두 유형의 차이점은 무엇입니까? – puretppc

+0

@puretppc, * readonly * 필드 값은 * 생성자 * 및 필드 이니셜 라이저에서 설정할 수 있지만 * const * 파일 값은 필드 이니셜 라이저에서만 설정할 수 있습니다. –

1

하나 개의 옵션

이동을 체크 아웃 :

public ClassName() 
{ 
    statsBonus = new System.Windows.Forms.TextBox[6, items]; 
} 
,

더 나은 옵션

constitems을 확인합니다.

2

당신은 = 3

const int items = 3; 
+0

읽기 전용 변수는 생성자를 통해서만 할당 할 수 있습니다. –

관련 문제