C# c在另一个按钮中使用局部变量
我目前正在从玩Ftp.dll库,在实现断开按钮时遇到问题 当我输入client.Close时;在FTPDisconnectbtn\u中,单击我得到错误信息: 当前上下文中不存在名称“客户端” 如果我理解正确,那是因为没有指定客户端,我不知道断开按钮中的确切术语,但只知道连接按钮上的术语 我想要的是能够从任何其他按钮的FTPConnectbtn_Click功能重用客户端 如何正确地做到这一点 非常感谢你帮助我 我当前的代码:C# c在另一个按钮中使用局部变量,c#,function,button,call,reusability,C#,Function,Button,Call,Reusability,我目前正在从玩Ftp.dll库,在实现断开按钮时遇到问题 当我输入client.Close时;在FTPDisconnectbtn\u中,单击我得到错误信息: 当前上下文中不存在名称“客户端” 如果我理解正确,那是因为没有指定客户端,我不知道断开按钮中的确切术语,但只知道连接按钮上的术语 我想要的是能够从任何其他按钮的FTPConnectbtn_Click功能重用客户端 如何正确地做到这一点 非常感谢你帮助我 我当前的代码: private void FTPConnectbtn_C
private void FTPConnectbtn_Click(object sender, EventArgs e)
{
using (Ftp client = new Ftp())
{
if (FTPSSLcheck.Checked)
{
client.ConnectSSL(FTPhosttext.Text);
}
else
{
client.Connect(FTPhosttext.Text);
}
client.Login(FTPusertext.Text, FTPpasstext.Text);
Limilabs.FTP.Log.Enabled = true;
Limilabs.FTP.Log.WriteLine += Console.WriteLine;
client.ChangeFolder("pub");
List<FtpItem> items = client.GetList();
foreach (FtpItem item in items)
{
FTPlistBox1.DataSource = items;
}
}
}
private void FTPDisconnectbtn_Click(object sender, EventArgs e)
{
client.Close();
}
这与软件包无关,但这是一个基本的C问题。basic这个词并不是用来侮辱人的,更重要的是,它是一个你需要理解的基本问题 客户端变量在FTPConnectbtn_Click方法的using语句中声明。这意味着它是一个局部变量,仅在块花括号中可用。如果您试图在方法的其余部分访问它,您将得到相同的错误 您需要做的是为客户机声明一个类级变量,并在其中存储连接,以便在其他方法中可用。这意味着您将失去using语句为您关闭连接的好处,因此您必须在完成后手动关闭它 搜索C变量范围以获取有关此操作的更多信息。这是一个非常重要的问题,您需要了解所有的编码
希望有帮助。忘记添加了,这两个按钮位于同一表单上!将客户端设置为表单中的一个字段或属性。由于使用了using语句,客户端在呼叫FTPConnectbtn\u Click完成时不是已经关闭了吗?因此关闭按钮没有意义?非常感谢!它确实有用!我发现了一个关于变量范围的非常好的介绍,它真的帮助了我!