为什么我不能使用参数字符串来命名我的按钮?

Nic*_*ick 2 .net c# parameters abstract

我在后端创建了很多按钮,所以我认为将其抽象出来以减少代码行是很聪明的.当我尝试这样做时,它给我一个错误,说"在这个范围内不能声明名为"buttonName"的本地或参数,因为该名称用于封闭的本地范围以定义本地或参数".我在这里错过了什么吗?我认为这是在这种情况下使用参数的确切原因.

这是我正在尝试做的一个例子.

转过来

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);
Run Code Online (Sandbox Code Playgroud)

进入此(用方法调用代替旧代码)

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);
}
Run Code Online (Sandbox Code Playgroud)

methodCall部分也在这里抛出一个错误,我假设由于在这个实例中不存在"methodCall".

S.D*_*Dav 7

在同一范围内不能有两个变量string buttonNameButton buttonName名称相同.

尝试将按钮重命名为,例如, Button newButton

  • 您将变量名称与`Button`类的`Name`属性混淆. (2认同)