Tengo un método que toma una instancia StringReader
(leyendo desde el portapapeles) o una instancia StreamReader
(leyendo desde un archivo) y, en la actualidad, arroja una instancia como TextReader
.¿Cómo restablecer un cursor de C# .NET TextReader al punto de inicio?
lo necesito a 'pre-lectura' parte de la entrada de la fuente, a continuación, restablezca el cursor de nuevo al comienzo. No necesariamente tengo el nombre de archivo original. ¿Cómo hago esto?
Hay mención del método de System.IO.Stream
Seek
pero esto no está implementado en TextReader
, aunque está en StreamReader
través de la propiedad Basestream
. Sin embargo, StringReader
no tiene una propiedad BaseStream
Gracias por el aviso en BaseStream, he actualizado la pregunta para que tal vez el problema se pueda resolver por completo. – Brendan
Gracias por eso, parece que tendré que volver a pensar qué se pasa al método usando una sobrecarga. – Brendan
Tuve problemas al usar este tipo de reinicio: la cadena que se lee después de tal restablecimiento contiene 3 caracteres ocultos al principio que probablemente determinan la codificación. La consecuencia es que al comparar la lectura de cadena en el reinicio de secuencia de lectura y la "cadena esperada" sorprendentemente devuelve falso. – sthiers