1

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

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");" 我得到“名称'shell'不包含在当前上下文中”。我是 C# 新手(仅 2 天)并且没有太多想法,所以请如果有人可以提供帮助。我期望的是没有错误,并且在按下第二个按钮时命令正确发送到终端。最后对代码格式错误表示抱歉,如果需要任何其他信息,请通知我。

4

1 回答 1

0

现在,您正在方法中声明shell变量button1_Click。这意味着只有该方法才能“看到”变量并使用它。

为了让两个按钮方法都使用该变量,必须在类级别的外部/之上声明它。

试试这个:

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");
}
于 2016-04-02T16:49:18.597 回答