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

时间:2016-04-02 15:59:03

标签: c# sharpssh

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

1 个答案:

答案 0 :(得分: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");
}