У меня есть задача написать объект, который может получать разные типы путей/URL-адресов и возвращать тип пути/URL-адреса. Например, путь может быть
1. [drive]:\Temp
2. \\Temp
3. Temp (assuming that it relative Temp),
4. /Temp
5. ~/Temp
6. file://[drive]:/Temp
7. file://Temp
8. [scheme]://something/Temp
... и т.д.
Как я могу проверить C#
, если это физический путь, относительный URL-адрес или абсолютный URL-адрес?
Я думаю, что относительно легко узнать, является ли это относительным или абсолютным uri, но как узнать, есть ли путь UNC?
Я попытался использовать объект Uri и его свойство IsUnc, но это не помогает мне.... для c:\temp он возвращает false, для "/temp", "temp/" и "temp" он выбрасывает исключение, что формат неверен. Существует ли какой-либо встроенный объект в .NET 3.5
, который может помочь мне с этим, или какой алгоритм я могу использовать для определения типа пути?