나는 백엔드에 많은 버튼을 만들어서 코드 줄을 줄이기 위해 그것을 추상화하는 것이 현명 할 것이라고 생각했다. 그러나이 작업을 시도 할 때 "local 또는 parameter"buttonName "이라는 로컬 또는 매개 변수는이 범위에서 선언 할 수 없습니다.이 이름은 로컬 또는 매개 변수를 정의하는 데 사용하는 내부 범위에서 사용됩니다." 내가 여기서 뭔가를 놓치고 있니? 나는 이것이이 상황에서 매개 변수를 사용하는 정확한 이유라고 생각했다.왜 내 버튼의 이름을 지정하는 데 매개 변수 문자열을 사용할 수 없습니까?
다음은 내가하려는 일의 예입니다.
차례
void CreateButton(string buttonName, string buttonIDText, string buttonText, PlaceHolder PlaceHolderName, string methodCall)
{
Button buttonName = new Button();
buttonName.ID = buttonIDText;
buttonName.Text = buttonText;
buttonName.UseSubmitBehavior = false;
buttonName.Click += new EventHandler(methodCall);
PlaceHolderName.Controls.Add(buttonName);
}
는 methodCall을 부분은 여기에서 오류가 발생합니다 (이전 코드 대신에 메소드 호출 포함)이 속으로이
Button buttonDetailsEdit = new Button();
buttonDetailsEdit.ID = "ButtonDetailsEdit";
buttonDetailsEdit.Text = "Edit";
buttonDetailsEdit.UseSubmitBehavior = false;
buttonDetailsEdit.Click += new EventHandler(EditCall);
PlaceHolderDetailsContent.Controls.Add(buttonDetailsEdit);
Button buttonDetailsBack = new Button();
buttonDetailsBack.ID = "ButtonDetailsBack";
buttonDetailsBack.Text = "Back to List";
buttonDetailsBack.UseSubmitBehavior = false;
buttonDetailsBack.Click += new EventHandler(IndexCall);
PlaceHolderDetailsContent.Controls.Add(buttonDetailsBack);
, 나는 "때문에 믿고있어 methodCall "이이 인스턴스에 없습니다.
당신의 작업 코드에서'IndexCall'의 유형 봐 ... – Habib
"는 methodCall을 부분은 여기에서 오류가 발생합니다"- 그래서 오류가 무엇입니까? 동일한 오류 또는 다른 오류? –
어쨌든 왜 'Button' 로컬 변수'buttonName'을 호출 했습니까? 확실히 '버튼'은 문제를 피할뿐만 아니라 더 적절할 것입니다. 컴파일러 오류 메시지가 어떤 식으로 여기에 있는지 확실하지 않습니다 ... 정확히 무엇이 잘못되었는지를 알려줍니다. –