我正在编写一个应用程序,可以建立反向代理连接,但是我遇到了问题!
错误在这里:new Form1.ProxyConfig()
当我尝试运行它时,出现错误:“引用或输出参数必须是可分配的变量”
private void startToolStripMenuItem_Click(object sender, EventArgs e)
{
if (this.startToolStripMenuItem.Text == "Start")
{
var form2 = new Form2();
if (form2.ShowDialog() != DialogResult.OK)
return;
int num1 = Form1.ProxyListenerStart(ref new Form1.ProxyConfig()
{
pclient_port = form2.ClientPort,
pp_start = form2.LocalStartPort,
pp_end = form2.LocalEndPort
}, ref this._PN);
if (num1 != 0)
int num2 = (int) MessageBox.Show("Error " + num1.ToString());
else startToolStripMenuItem.Text = "Stop";
}
else
{
Form1.ProxyListenerStop();
startToolStripMenuItem.Text = "Start";
listView1.Items.Clear();
toolStripStatusLabel2.Text = "0";
}
}
private struct ProxyConfig
{
public int pclient_port;
public int pp_start;
public int pp_end;
}
ref
关键字然后它就可以工作了,我是说解决方法是改变这个方法,使其不再通过引用传递参数,而不是将其更改为传递变量而不是值。这不仅仅是要修复编译器错误,而且实际上要编写一个好的解决方案。 - Servy