Должен ли я написать свой собственный метод для отмены readony для папки и ее содержимого в C #? - PullRequest
1 голос
/ 11 сентября 2009

У меня есть папка с некоторыми папками в ней и некоторыми файлами в этих папках. Так получилось, что эти файлы могут быть только для чтения, что для меня неприемлемо.

Вопрос в том, должен ли я написать код, который будет рекурсивно сбрасываться только для чтения для всех файлов? Это не сложно написать, но есть ли какой-нибудь стандартный способ .NET сделать это?

Мое текущее решение:

private static void SetReadOnly( string path, bool readOnly )
{
    foreach ( string directory in Directory.GetDirectories( path ) )
    {
        DirectoryInfo di = new DirectoryInfo( directory );
        if ( readOnly )
        {
            di.Attributes &= FileAttributes.ReadOnly;
        }
        else
        {
            di.Attributes ^= FileAttributes.ReadOnly;
        }

        SetReadOnly( directory, readOnly );
    }

    foreach ( string file in Directory.GetFiles( path ) )
    {
        FileInfo fi = new FileInfo( file );
        if ( readOnly )
        {
            fi.Attributes &= FileAttributes.ReadOnly;
        }
        else
        {
            fi.Attributes ^= FileAttributes.ReadOnly;
        }
    }
}

1 Ответ

0 голосов
/ 11 сентября 2009

Нет, для этого нет встроенного метода. Вы должны написать его самостоятельно, и ваш существующий код выглядит так, как будто он справился бы с работой.

...