FileIOPermission.SetPathList 方法

定义

设置指定文件和目录的特定访问权限,以替换现有的权限状态。

重载

SetPathList(FileIOPermissionAccess, String)

设置指定文件或目录的特定访问权限,以替换现有的权限状态。

SetPathList(FileIOPermissionAccess, String[])

设置对指定文件和目录的指定访问权限,同时用一组新路径替换指定访问权限的当前状态。

SetPathList(FileIOPermissionAccess, String)

Source:
FileIOPermission.cs
Source:
FileIOPermission.cs
Source:
FileIOPermission.cs
Source:
FileIOPermission.cs
Source:
FileIOPermission.cs

设置指定文件或目录的特定访问权限,以替换现有的权限状态。

public void SetPathList(System.Security.Permissions.FileIOPermissionAccess access, string path);

参数

access
FileIOPermissionAccess

FileIOPermissionAccess 值的按位组合。

path
String

文件或目录的绝对路径。

例外

access 参数不是 FileIOPermissionAccess 的有效值。

- 或 -

path 参数不是有效的字符串。

- 或 -

path 参数未指定文件或目录的绝对路径。

示例

下面的代码示例演示如何使用 FileIOPermission.SetPathList(FileIOPermissionAccess, String) 方法。

private bool SetGetPathListDemo()
{
    try
    {
        Console.WriteLine("********************************************************\n");

        FileIOPermission fileIOPerm1;
        Console.WriteLine("Creating a FileIOPermission with AllAccess rights for 'C:\\Examples\\Test\\TestFile.txt");
        fileIOPerm1 = new FileIOPermission(FileIOPermissionAccess.AllAccess, "C:\\Examples\\Test\\TestFile.txt");
        Console.WriteLine("Adding 'C:\\Temp' to the write access list, and \n 'C:\\Examples\\Test' to read access.");
        fileIOPerm1.AddPathList(FileIOPermissionAccess.Write, "C:\\Temp");
        fileIOPerm1.AddPathList(FileIOPermissionAccess.Read, "C:\\Examples\\Test");
        string[] paths = fileIOPerm1.GetPathList(FileIOPermissionAccess.Read);
        Console.WriteLine("Read access before SetPathList = ");
        foreach (string path in paths)
        {
            Console.WriteLine("\t" + path);
        }
        Console.WriteLine("Setting the read access list to \n'C:\\Temp'");
        fileIOPerm1.SetPathList(FileIOPermissionAccess.Read, "C:\\Temp");
        paths = fileIOPerm1.GetPathList(FileIOPermissionAccess.Read);
        Console.WriteLine("Read access list after SetPathList = ");
        foreach (string path in paths)
        {
            Console.WriteLine("\t" + path);
        }

        paths = fileIOPerm1.GetPathList(FileIOPermissionAccess.Write);
        Console.WriteLine("Write access list after SetPathList = ");
        foreach (string path in paths)
        {
            Console.WriteLine("\t" + path);
        }

        Console.WriteLine("Write access = \n" +
            fileIOPerm1.GetPathList(FileIOPermissionAccess.AllAccess));
    }
    catch (ArgumentException e)
    {
        // FileIOPermissionAccess.AllAccess can not be used as a parameter for GetPathList.
        Console.WriteLine("An ArgumentException occurred as a result of using AllAccess. "
            + "This property cannot be used as a parameter in GetPathList "
            + "because it represents more than one type of file variable access. : \n" + e);
    }

    return true;
}

注解

将覆盖指定访问类型的当前权限的先前状态。 以下代码将 C:\temp 的访问设置为 Read

fileIOPerm1.SetPathList(FileIOPermissionAccess.Read, "C:\\temp");

以下代码不会覆盖此访问,因为访问类型不同。

fileIOPerm1.SetPathList(FileIOPermissionAccess.Write, "C:\\documents");

适用于

.NET 10 (package-provided) 和其他版本
产品 版本
.NET 8 (package-provided), 9 (package-provided), 10 (package-provided)
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0 (package-provided)
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9, 10

SetPathList(FileIOPermissionAccess, String[])

Source:
FileIOPermission.cs
Source:
FileIOPermission.cs
Source:
FileIOPermission.cs
Source:
FileIOPermission.cs
Source:
FileIOPermission.cs

设置对指定文件和目录的指定访问权限,同时用一组新路径替换指定访问权限的当前状态。

public void SetPathList(System.Security.Permissions.FileIOPermissionAccess access, string[] pathList);

参数

access
FileIOPermissionAccess

FileIOPermissionAccess 值的按位组合。

pathList
String[]

包含文件和目录的绝对路径的数组。

例外

access 参数不是 FileIOPermissionAccess 的有效值。

- 或 -

pathList 参数中的某一项不是有效的字符串。

注解

将覆盖指定访问类型的当前权限的先前状态。 以下代码将 C:\temp 的访问设置为 Read

以下代码不会覆盖此访问,因为访问类型不同。

fileIOPerm1.SetPathList(FileIOPermissionAccess.Write, new string[] {"C:\\pictures", "C:\\music"});

适用于

.NET 10 (package-provided) 和其他版本
产品 版本
.NET 8 (package-provided), 9 (package-provided), 10 (package-provided)
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0 (package-provided)
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9, 10