c#按钮单击传递参数到另一个类并执行

时间:2013-08-14 16:23:36

标签: c# class parameters

我正在尝试创建商店数据包生成器。我有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类应该接受该参数并执行代码。

2 个答案:

答案 0 :(得分:3)

您需要在Listen班级(listen.cs)中创建一个接受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;
    }
}

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

答案 1 :(得分:0)