Я пытаюсь создать меню, в которое можно передавать данные по конвейеру, чтобы оно автоматически генерировало меню, проблема, с которой я сталкиваюсь, заключается в том, что консольный ввод перенаправлен и не может найти какой-либо способ вернуть его к значениям по умолчанию для повторного чтения ввода с клавиатуры. .
Я пытался:
Console.SetIn(New IO.StreamReader(Console.OpenStandardInput))
... после генерации списка, чтобы восстановить контроль, но безрезультатно.
Я также пытался сохранить консоль.in состояние и восстановление его после генерации списка, но снова не удалось.
:: код
sub main()
Dim lista As New List(Of String)
Do
Dim line = Console.ReadLine()
Select Case line
Case vbNullString
Exit Do
Case Else
lista.Add(line)
End Select
Loop
For Each linea As String In lista
Console.WriteLine(linea)
Next
Console.ReadKey()
end sub ()
Давайте предположим, что мы скомпилировали код в program.exe и выполнили следующее:
dir /b | program.exe
все выполняется нормально, пока console.readkey (), где ошибка, которую он бросает, не является:
System.InvalidOperationException: консоль перенаправлена из файла
.... или что-то в этом роде (мой компьютер на другом языке, поэтому нет точного перевода)
Мой вопрос: как мне восстановить контроль над перенаправленной консолью. Так я могу читатьклавиши ввода, чтобы сделатьвыбор?