C# 当前上下文中不存在名称“inputLength”
我花了一些时间在这个密码生成器上,但我实在太傻了,无法让它工作 我有一个输入和输出文本框,其中包含生成的用户名和密码 问题是第三个文本框,inputLength,我希望用户在GeneratePassword中决定密码的长度C# 当前上下文中不存在名称“inputLength”,c#,.net,winforms,C#,.net,Winforms,我花了一些时间在这个密码生成器上,但我实在太傻了,无法让它工作 我有一个输入和输出文本框,其中包含生成的用户名和密码 问题是第三个文本框,inputLength,我希望用户在GeneratePassword中决定密码的长度 private void button1_Click(object sender, EventArgs e) { char[] newRow = new char[] { '\r', '\n' }; string[] name = input.Text.Spl
private void button1_Click(object sender, EventArgs e)
{
char[] newRow = new char[] { '\r', '\n' };
string[] name = input.Text.Split(newRow, StringSplitOptions.RemoveEmptyEntries);
string result = "";
for (int i = 0; i < name.Length; i++)
{
result += string.Format("{0}{1} # {2}\r\n",name[i].Substring(0, 3), i, GeneratePassword());
}
output.Text = result;
}
private static string GeneratePassword()
{
int passwordLength = Int32.Parse(inputLength.Text);
string result = "";
string allowedChars = "1234567890qwertyuioplkjhgfdsazxcvbnmQWERTYUIOPLKJHGFDSAZXCVBNM";
Random random = new Random();
for (int i = 0; i < inputLength; i++)
{
result += allowedChars[random.Next(allowedChars.Length)].ToString();
System.Threading.Thread.Sleep(10);
}
return result;
throw new NotImplementedException();
}
这是因为GeneratePassword是静态的,只能访问静态成员和方法。
InputLength是一个文本框,是表单的成员,因此GeneratePassword无法访问它
只需从GeneratePassword定义中删除static,或将inputLength.Text作为参数传递给GeneratePassword函数。这是因为GeneratePassword是静态的,只能访问静态成员和方法。
InputLength是一个文本框,是表单的成员,因此GeneratePassword无法访问它
只需从GeneratePassword定义中删除static,或将inputLength.Text作为参数传递给GeneratePassword函数。这段代码似乎在Windows窗体应用程序中,因为您已经为按钮事件处理程序button1编写了代码,button1\u Click随后调用了一个名为GeneratePassword的静态方法 问题是静态GeneratePassword方法正在尝试访问实例成员inputLength,但它无法访问。你有两个选择: 使GeneratePassword成为实例成员删除static,以便它可以访问inputLength实例成员。 将inputLength中的值传递到GeneratePassword,例如: 私有静态字符串生成器PasswordString inputLength 然后你会这样称呼它:
result += string.Format("{0}{1} # {2}\r\n",name[i].Substring(0, 3), i, GeneratePassword(inputLength.Text));
这段代码看起来像是在Windows窗体应用程序中,因为您已经为按钮事件处理程序button1_Click编写了代码,然后它调用了一个名为GeneratePassword的静态方法 问题是静态GeneratePassword方法正在尝试访问实例成员inputLength,但它无法访问。你有两个选择: 使GeneratePassword成为实例成员删除static,以便它可以访问inputLength实例成员。 将inputLength中的值传递到GeneratePassword,例如: 私有静态字符串生成器PasswordString inputLength 然后你会这样称呼它:
result += string.Format("{0}{1} # {2}\r\n",name[i].Substring(0, 3), i, GeneratePassword(inputLength.Text));
在GeneratePassword方法中,可能没有作为inputLength的局部变量。也许你想要int i=0;i<密码长度;而是i++吗?i