У меня есть реализация StreamReader.C# StreamReader (строковый путь). Является ли путь доступным снова как-то?
internal class MyStreamReader : StreamReader
{
public MyStreamReader (string path) : base(path)
{
}
Аргумент - это путь к файлу.
Я хотел исключить исключение и включить полное имя файла в его сообщение. Я знаю, конечно, что я мог бы легко сохранить его в поле своего класса, например «_path», но я хотел убедиться, что я не делаю ничего лишнего. Как-то я могу снова получить доступ к аргументу «путь»?
Edit, так как там, кажется, некоторая путаница:
throw new FileLoadException($"Corrupt source file! File '{ // I need something to represents the file with its path }' is malformed. (...)");
Итак, // I need something to represent the file with its path
легко заменяемые без добавления поля _path
в моем классе. Что-то вроде this.GetTheInConstructorArgumentedPath()
.
Класс Исключение имеет поле Данные, в которых вы можете добавить пару имя-значение, а затем получить его. –
Вместо использования базового класса 'Exception' - создайте собственное' WrongFileNameException', которое наследует от 'Exception' и добавляет туда любые данные. Это даст вам более подробную информацию о заброшенном исключении. И вы можете поймать это исключение с помощью 'catch (WrongfileNameException)' – Fabio
@Fabio Это абсолютно не то, о чем я просил. Я собираюсь разъяснить это. – OddDev