我是否必须编写自己的方法来取消设置文件夹上的readony,并将其';以C#表示的s内容?

我是否必须编写自己的方法来取消设置文件夹上的readony,并将其';以C#表示的s内容?,c#,.net,filesystems,directory,readonly,C#,.net,Filesystems,Directory,Readonly,我有一个文件夹,里面有一些文件夹,这些文件夹里有一些文件。碰巧,这些文件可能是只读的,这对我来说是不可接受的 问题是我是否必须编写代码来递归地取消所有文件上的readonly设置?写起来并不难,但是有没有标准的.NET方法呢 我当前的解决方案: private static void SetReadOnly( string path, bool readOnly ) { foreach ( string directory in Directory.GetDirectories( pat

我有一个文件夹,里面有一些文件夹,这些文件夹里有一些文件。碰巧,这些文件可能是只读的,这对我来说是不可接受的

问题是我是否必须编写代码来递归地取消所有文件上的readonly设置?写起来并不难,但是有没有标准的.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;
        }
    }
}

不,没有内置的方法。您必须自己编写,而您现有的代码看起来可以完成这项工作