Как определить, что каталог доступен только для чтения в C#?
Моя цель в этой части приложения-предупредить пользователя, если он выберет каталог/папку для использования в качестве хранилища отчетов, которое доступно только для чтения и недоступно для него.
Основываясь на нескольких решениях с этого веб-сайта и других, я попробовал следующее
DirectoryInfo di = новый DirectoryInfo(sConnectionFolder);
если ((Ди.Атрибутами &амп; метки fileattributes.ReadOnly) == FileAttributes.только для чтения)
{
// ПРЕДУПРЕДИТЬ ПОЛЬЗОВАТЕЛЯ
Моя проблема заключается в том, что при тестировании с папкой только для чтения di.Значение свойства Attributes-это просто "каталог", и оно не содержит флага/компонента только для чтения.
из отладчика:
di.Attributes = каталог
Поэтому мой код предупреждения никогда не выполняется.
Что я уже пробовал:
Прочие попытки:
если (di.Атрибуты.HasFlag(FileAttributes.только для чтения))
// и держитесь подальше от DirectoryInfo, просто используя FileInfo:
FileAttributes file_attr = (new FileInfo(sConnectionFolder)).Атрибуты;
// и, наконец, использование класса File для получения атрибутов:
FileAttributes fa = файл.Методы getattributes(sConnectionFolder);
// все с тем же результатом: каталог для значения атрибута
// Почему отсутствует флаг только для чтения?