创建对象的多个实例c#

时间:2016-02-05 20:03:51

标签: c#

我正在尝试实现多次实例化对象。下面的代码是创建一个html监听器,并希望它们处于活动状态直到进程结束。所以基本上我不想写下10次,而是找到一种自动创建10次的方法。

我试过这个,但听众似乎没有跑。

public static void MultipleProxy()
{
    var proxies = new List<SocksWebProxy>();
    for (int i = 1; i <= 10; i++)
    {
        proxies.Add(Proxy(i));
    }
}

public static SocksWebProxy Proxy(int i)
{
    var proxy = new SocksWebProxy(new ProxyConfig(IPAddress.Parse("127.0.0.1"), 7000 + i, IPAddress.Parse("127.0.0.1"), 9000 + i, ProxyConfig.SocksVersion.Five));
    return proxy;
}

2 个答案:

答案 0 :(得分:4)

您已经在创建了10个SocksWebProxy实例。此代码的问题在于,只要创建它们的方法全部退出,对象就会超出范围,从而使它们有资格进行垃圾回收。要解决该问题,您可以移动列表,例如到课堂范围。

jQuery

对MultipleProxy()的多次调用将继续使用此设计添加到列表中。

答案 1 :(得分:2)

您正在创建对象并将它们放在列表中,但列表存储在本地变量中。方法结束后,列表将被销毁,垃圾收集器也会销毁对象。将它们存储在一个始终存在的变量中。