Всем доброго времени суток :)
Visual Studio 2010 /// vb.NET
некий новый экземпляр StreamReader...
Dim MetaRead As StreamReader = New StreamReader("D:\TodayBackup.txt")
как от него получить имя читаемого им файла, позицию и.т.д ведь это свойства ***Stream
а StreamReader - это интерфейс - он почти не имеет свойств одни методы
Сам и разобрался...
StreamReader - это вспомогательный класс, предоставляющий удобный интерфейс для чтения текстовых данных из потока данных. Источником(потоком) данных является объект System.IO.Stream и именно его читает ридер. Stream представляет обобщенный интерфейс доступа к данным, то есть с его помощью можно читать(записывать) данные, находящиеся не только в файле, но так же в памяти, сети и т. д. Поэтому это абстрактный класс и работать приходится по сути с производными классами, такими как FileStream, MemoryStream, NetSrteam и др.
StreamReader считывает данные одинакова хорошо из любого потока, но когда ты создаешь экземпляр этого класса, передавая конструктору строку с именем файла, то сначала создается FileStream, который в дальнейшем и читается.
А подобраться к свойствам FileStream можно при помощи
DirectCast (Представляет тип операции преобразования на основе наследования или реализации)
вот так можно получит имя файла от экземпляра StreamReader
... = DirectCast(имя экземпляра.BaseStream, System.IO.FileStream).Name
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.