0

我正在尝试创建商店数据包生成器。我得到了 main.cs,其中有文本框和按钮。我也得到了类listen.cs,在那里我得到了负责监听来自特定IP地址的数据包的工作代码。

我想要的是这样的:

private void btn_SEND_Click(object sender, RoutedEventArgs e)
    {
        string sourceIP = "1.1.1.1";
        Listen myListen = new Listen(sourceIP);
    }

因此,当用户单击按钮时,IP 地址将被传递给 listen.cs 并执行该类的整个代码。将来我想同时执行来自两个独立类的代码。

问题是我不知道如何正确执行此操作。我的 listen.cs 类中应该包含什么来接受该参数并执行代码。

4

2 回答 2

3

您需要在您的Listen类 ( listen.cs) 中创建一个接受 a的构造函数string,如下所示:

public class Listen
{
    private string _sourceIp;

    public Listen(string sourceIp)
    {
        _sourceIp = sourceIp;
    }
}

现在,您可以通过_sourceIp变量在 Listen 类中使用 Source IP 值。

注意:如果您需要在班级之外访问,那么您可以创建一个属性,如下所示:

public string SourceIp { 
    get { return _sourceIp; } 
    set { _sourceIp = value; } 
}

或者使用这样的自动属性:

public string SourceIp { get; set; }

注意:默认情况下,自动属性将创建一个private支持字段,并消除对_sourceIp变量的需求,因此您的类将如下所示:

public class Listen
{
    public string SourceIp { get; set; }

    public Listen(string sourceIp)
    {
        SourceIp = sourceIp;
    }
}

注意:您现在将传递给构造函数的值直接应用于属性。

于 2013-08-14T16:27:12.290 回答
0

仅供您参考 C# 中的构造函数:http: //msdn.microsoft.com/en-us/library/vstudio/ms173115.aspx

于 2013-08-14T16:31:34.633 回答