FileIOPermission.SetPathList FileIOPermission.SetPathList FileIOPermission.SetPathList FileIOPermission.SetPathList Method

Definición

Establece el acceso especificado para los archivos y directorios especificados, reemplazando el estado existente del permiso.Sets the specified access to the specified files and directories, replacing the existing state of the permission.

Sobrecargas

SetPathList(FileIOPermissionAccess, String) SetPathList(FileIOPermissionAccess, String) SetPathList(FileIOPermissionAccess, String) SetPathList(FileIOPermissionAccess, String)

Establece el acceso especificado al archivo o directorio especificado, reemplazando el estado existente del permiso.Sets the specified access to the specified file or directory, replacing the existing state of the permission.

SetPathList(FileIOPermissionAccess, String[]) SetPathList(FileIOPermissionAccess, String[]) SetPathList(FileIOPermissionAccess, String[]) SetPathList(FileIOPermissionAccess, String[])

Establece el acceso especificado a los archivos y directorios especificados, reemplazando el estado actual para el acceso especificado con el nuevo conjunto de rutas de acceso.Sets the specified access to the specified files and directories, replacing the current state for the specified access with the new set of paths.

SetPathList(FileIOPermissionAccess, String) SetPathList(FileIOPermissionAccess, String) SetPathList(FileIOPermissionAccess, String) SetPathList(FileIOPermissionAccess, String)

Establece el acceso especificado al archivo o directorio especificado, reemplazando el estado existente del permiso.Sets the specified access to the specified file or directory, replacing the existing state of the permission.

public:
 void SetPathList(System::Security::Permissions::FileIOPermissionAccess access, System::String ^ path);
public void SetPathList (System.Security.Permissions.FileIOPermissionAccess access, string path);
member this.SetPathList : System.Security.Permissions.FileIOPermissionAccess * string -> unit
Public Sub SetPathList (access As FileIOPermissionAccess, path As String)

Parámetros

access
FileIOPermissionAccess FileIOPermissionAccess FileIOPermissionAccess FileIOPermissionAccess

Combinación bit a bit de los valores de FileIOPermissionAccess.A bitwise combination of the FileIOPermissionAccess values.

path
String String String String

La ruta de acceso absoluta del directorio o el archivo.The absolute path of the file or directory.

Excepciones

El parámetro access no es un valor válido de FileIOPermissionAccess.The access parameter is not a valid value of FileIOPermissionAccess.

o bien-or- El parámetro path no es una cadena válida.The path parameter is not a valid string.

O bien-or- El parámetro path no especificó la ruta de acceso absoluta al archivo o directorio.The path parameter did not specify the absolute path to the file or directory.

Ejemplos

En el ejemplo de código siguiente se muestra el FileIOPermission.SetPathList(FileIOPermissionAccess, String) uso del método.The following code example shows the use of the FileIOPermission.SetPathList(FileIOPermissionAccess, String) method.

bool SetGetPathListDemo()
{
   try
   {
      Console::WriteLine( "********************************************************\n" );
      FileIOPermission^ fileIOPerm1;
      Console::WriteLine( "Creating a FileIOPermission with AllAccess rights for 'C:\\Examples\\Test\\TestFile.txt" );
      
      fileIOPerm1 = gcnew 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" );
      array<String^>^paths = fileIOPerm1->GetPathList( FileIOPermissionAccess::Read );
      Console::WriteLine( "Read access before SetPathList = " );
      IEnumerator^ myEnum = paths->GetEnumerator();
      while ( myEnum->MoveNext() )
      {
         String^ path = safe_cast<String^>(myEnum->Current);
         Console::WriteLine( "\t{0}", 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 = " );
      IEnumerator^ myEnum1 = paths->GetEnumerator();
      while ( myEnum1->MoveNext() )
      {
         String^ path = safe_cast<String^>(myEnum1->Current);
         Console::WriteLine( "\t{0}", path );
      }

      paths = fileIOPerm1->GetPathList( FileIOPermissionAccess::Write );
      Console::WriteLine( "Write access list after SetPathList = " );
      IEnumerator^ myEnum2 = paths->GetEnumerator();
      while ( myEnum2->MoveNext() )
      {
         String^ path = safe_cast<String^>(myEnum2->Current);
         Console::WriteLine( "\t{0}", path );
      }

      Console::WriteLine( "Write access = \n{0}", 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{0}", e );
   }

   return true;
}


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;
}
Private Function SetGetPathListDemo() As Boolean
    Try
        Console.WriteLine("********************************************************" & ControlChars.Lf)

        Dim fileIOPerm1 As FileIOPermission
        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 " & ControlChars.Lf & " 'C:\Examples\Test' to read access.")
        fileIOPerm1.AddPathList(FileIOPermissionAccess.Write, "C:\Temp")
        fileIOPerm1.AddPathList(FileIOPermissionAccess.Read, "C:\Examples\Test")
        Dim paths As String() = fileIOPerm1.GetPathList(FileIOPermissionAccess.Read)
        Console.WriteLine("Read access before SetPathList = ")
        Dim path As String
        For Each path In paths
            Console.WriteLine((ControlChars.Tab & path))
        Next path
        Console.WriteLine("Setting the read access list to " & ControlChars.Lf & "'C:\Temp'")
        fileIOPerm1.SetPathList(FileIOPermissionAccess.Read, "C:\Temp")
        paths = fileIOPerm1.GetPathList(FileIOPermissionAccess.Read)
        Console.WriteLine("Read access list after SetPathList = ")
        For Each path In paths
            Console.WriteLine((ControlChars.Tab & path))
        Next path

        paths = fileIOPerm1.GetPathList(FileIOPermissionAccess.Write)
        Console.WriteLine("Write access list after SetPathList = ")
        For Each path In paths
            Console.WriteLine((ControlChars.Tab & path))
        Next path

        Dim pathList() As String
        pathList = fileIOPerm1.GetPathList(FileIOPermissionAccess.AllAccess)

    Catch e As ArgumentException
        ' 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. : " & ControlChars.Lf & e.ToString()))
    End Try

    Return True
End Function 'SetGetPathListDemo

Comentarios

Se sobrescribe el estado anterior del permiso actual para el tipo de acceso especificado.The previous state of the current permission for the specified access type is overwritten. El código siguiente establece el acceso para C:\temp en Read.The following code sets the access for C:\temp to Read.

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

El código siguiente no sobrescribirá este acceso porque los tipos de acceso no son los mismos.This access will not be overwritten by the following code because the access types are not the same.

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

SetPathList(FileIOPermissionAccess, String[]) SetPathList(FileIOPermissionAccess, String[]) SetPathList(FileIOPermissionAccess, String[]) SetPathList(FileIOPermissionAccess, String[])

Establece el acceso especificado a los archivos y directorios especificados, reemplazando el estado actual para el acceso especificado con el nuevo conjunto de rutas de acceso.Sets the specified access to the specified files and directories, replacing the current state for the specified access with the new set of paths.

public:
 void SetPathList(System::Security::Permissions::FileIOPermissionAccess access, cli::array <System::String ^> ^ pathList);
public void SetPathList (System.Security.Permissions.FileIOPermissionAccess access, string[] pathList);
member this.SetPathList : System.Security.Permissions.FileIOPermissionAccess * string[] -> unit
Public Sub SetPathList (access As FileIOPermissionAccess, pathList As String())

Parámetros

access
FileIOPermissionAccess FileIOPermissionAccess FileIOPermissionAccess FileIOPermissionAccess

Combinación bit a bit de los valores de FileIOPermissionAccess.A bitwise combination of the FileIOPermissionAccess values.

pathList
String[]

Matriz que contiene las rutas de acceso absolutas de los archivos y directorios.An array containing the absolute paths of the files and directories.

Excepciones

El parámetro access no es un valor válido de FileIOPermissionAccess.The access parameter is not a valid value of FileIOPermissionAccess.

o bien-or- Una entrada del parámetro pathList no es una cadena válida.An entry in the pathList parameter is not a valid string.

Comentarios

Se sobrescribe el estado anterior del permiso actual para el tipo de acceso especificado.The previous state of the current permission for the specified access type is overwritten. El código siguiente establece el acceso para C:\temp en Read.The following code sets the access for C:\temp to Read.

El código siguiente no sobrescribirá este acceso porque los tipos de acceso no son los mismos.This access will not be overwritten by the following code because the access types are not the same.

fileIOPerm1->SetPathList(FileIOPermissionAccess::Write, gcnew array<String^> {"C:\\pictures", "C:\\music"});
fileIOPerm1.SetPathList(FileIOPermissionAccess.Write, new string[] {"C:\\pictures", "C:\\music"});
fileIOPerm1.SetPathList(FileIOPermissionAccess.Write, New String() {"C:\\pictures", "C:\\music"})

Se aplica a