从私有void到String类的通信有问题。代码如下:
String SendCommand(String Command)
{
host = true;
if (host == false)
HostName = HostName1;
else if (host == true)
HostName = HostName2;
//code that uses Hostname to toggle switch, which does work
}
使用上面的代码,将host设置为true不会在String SendCommand(String Command)中更改它。当我这样做......
{{1}}
......确实看到了变化,并且工作正常。我尝试将按钮更改为public void,将字符串类更改为public String SendCommand,但这不起作用。我还在String类之前放置了按钮单击代码,但这也没有用。我不确定自SendCommand(“打开开关”)后要做什么;确实为HostName1打开了开关,但没有打开HostName2,因为它没有看到布尔值的变化。 提前谢谢。
答案 0 :(得分:1)
为什么不直接将主机名传递给SendCommand()方法?
public partial class mainForm : Form
{
private const string HOST_1 = "192.168.0.30";
private const string HOST_2 = "192.168.0.31";
private string SendCommand(string host, string Command)
{
//code that uses Hostname to toggle switch, which does work
// Just use host here
}
private void btnProgramEther_Click_1(object sender, EventArgs e)
{
SendCommand(HOST_1, "turn switch on");
}
}