файловой системой? Надоело постоянно через System.IO парсить пути, названия и т.д. Может есть что-то популярное?
https://docs.microsoft.com/en-us/dotnet/api/system.io.path.getextension?view=net-6.0
У жидбрейнса что-то было удобное
Если найдёшь — поделись.
А что system.io плох разве? 😱
А там есть что-то для путей?
А что именно нужно то там? Получение файла по пути, конкатенация путей есть
Path класс хоть и не сильно удобный, но лично меня ещё не подводил.
Как вам такой вариант?
Нужно две части: абстрактная и конкретная. В абстрактной части я хочу уметь работать с путями на произвольной ФС (то есть завязка на сепаратор с текущей платформы идёт нафиг), иметь способы сравнивать пути, конвертировать между относительными и абсолютными, канонизировать. Обязательно чтобы было плугабельно (с подключением виртуальных ФС). И нужен тип для пути. Не в строках же хранить, в самом деле :) В конкретной части нужна полная поддержка всех платформенным фичей: UNC, ACL, Unix-права, узнать что каталог или файл является case-sensitive (! и какой именно сегмент пути таковым является). Ничего из этого в существующих библиотеках я не видал.
Если есть настроение запилить своё, то я готов.
Ну выглядит как достаточно специфические требования, не то что бы это всем нужно. Хотя может у меня опыт нерелевантен
"Всем", может, и хватает просто путей в строках, лол :)
Ну это самый адекватный поинт, отдельную сущность для пути мы тоже у себя добавляли, ок👍
А мне вот ещё внезапно квотировать пути понадобилось в одном месте. С неквотированными некоторые винапишки плохо работают.
Чувак который написал .build, из житбрейнс джёрмани, у него в .build то ли своя хрень то ли либа какая, там ещё path.combine через перегруженный оператор /
Ну пошли у него спиздим.
Не спиздим, а попросим оформить в отдельный nuget пакет
Ничо не будем просить. Спиздим и всё. (но повесим license notice и всё такое, как положено благородным джентльменам)
Можно ещё говорить «унаследуем»./
Обсуждают сегодня