Я не понимаю абстракции и терминологию: - (
Например, DirectoryInfo.FullName определяется как полный путь к каталогу или файлу, но это строка! То же самое относится и к DirectoryInfo.Name, FileInfo.FullName, Path.GetDirectoyName и так далее.
Это означает, что в .Net нет «глубины» (или «мяса» - мой английский не очень хорош) для объектов файловой системы. Там нет защиты от системы типов. Я не могу, например, определить два объекта Path и спросить, находится ли один из них «над» другим - мне нужно манипулировать строками. Я не могу различить путь, который идентифицирует каталог, и путь, который идентифицирует файл. Я ничего не могу сделать! - (Просто управляйте строками.
Это правильно (или я просто что-то упускаю). Если правильно, есть ли альтернативы?