我正在尝试实现多次实例化对象。下面的代码是创建一个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;
}
答案 0 :(得分:4)
您已经在创建了10个SocksWebProxy实例。此代码的问题在于,只要创建它们的方法全部退出,对象就会超出范围,从而使它们有资格进行垃圾回收。要解决该问题,您可以移动列表,例如到课堂范围。
jQuery
对MultipleProxy()的多次调用将继续使用此设计添加到列表中。
答案 1 :(得分:2)
您正在创建对象并将它们放在列表中,但列表存储在本地变量中。方法结束后,列表将被销毁,垃圾收集器也会销毁对象。将它们存储在一个始终存在的变量中。