在 C# 中对多个按钮使用 sharpSSH 时出错

Error while using sharpSSH in C# for multiple buttons

我有 2 个按钮,连接发送命令。在第一个按钮中,我创建了到我的服务器的连接,在第二个按钮中,我发送了一个命令。代码如下:

public void button1_Click(object sender, EventArgs e)
{
      SshExec shell = new SshExec("hostname", "username", "password");
      shell.Connect();
}

public void button2_Click(object sender, EventArgs e)
{
      shell.RunCommand("ls");
}

现在错误在 "shell.RunCommand("ls");"我得到 "The name 'shell' does not contains in the current context"。我是 C# 的新手(仅仅 2 天)并且没有太多的想法,所以如果有人可以提供帮助,请帮忙。 我期待的是没有错误,并且在按下第二个按钮时命令被正确发送到终端。 最后,很抱歉代码格式不正确,如果需要任何其他信息,请通知我。

现在,您正在 button1_Click 方法中声明变量 shell。这意味着只有该方法可以 "see" 变量并使用它。

为了让两个按钮方法都使用该变量,必须在 class 级别声明 outside/above。

试试这个:

private SshExec shell;

public void button1_Click(object sender, EventArgs e)
{
      shell = new SshExec("hostname", "username", "password");
      shell.Connect();
}

public void button2_Click(object sender, EventArgs e)
{
      shell.RunCommand("ls");
}