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".
在同一范围内不能有两个变量string buttonName且Button buttonName名称相同.
尝试将按钮重命名为,例如, Button newButton
| 归档时间: |
|
| 查看次数: |
95 次 |
| 最近记录: |