Как показано, ваш код должен выглядеть следующим образом:
public static void enqueue()
{
using (var obj = File.ReadLines(Program.combo).GetEnumerator())
{
while (obj.MoveNext())
{
Program.comboQueue.Enqueue(obj.Current);
}
}
using (var obj2 = File.ReadLines(Program.proxies).GetEnumerator())
{
while (obj2.MoveNext())
{
Program.proxyQueue.Enqueue(obj2.Current);
}
}
}
Но оно того стоит.
ReadLines.GetEnumerator()
возвращает объект типа IEnumerator<string>
, который имеет MoveNext()
метода, и может быть помещен в блок using
.
Приведя его к object
, вы скрываете его тип от компилятора, вызывая ошибки, которые вы получаете, а также требуя ненужного приведения обратно к IEnumerator<string>
.
Тем не менее, ваш код слишком сложен. foreach
l oop предназначен для такого рода вещей, поэтому ваш код должен выглядеть так:
foreach (string line in File.ReadLines(Program.combo))
Program.comboQueue.Enqueue(line);
foreach (string line in File.ReadLines(Program.proxies))
Program.proxyQueue.Enqueue(line);