Partager via


FileIOPermission.SetPathList Méthode

Définition

Définit l’accès spécifié aux fichiers ou répertoires spécifiés, en remplaçant l’état existant de l’autorisation.

Surcharges

SetPathList(FileIOPermissionAccess, String)

Définit l’accès spécifié au fichier ou répertoire spécifié, en remplaçant l’état existant de l’autorisation.

SetPathList(FileIOPermissionAccess, String[])

Définit l’accès spécifié sur les fichiers et répertoires spécifiés, en remplaçant l’état actuel de l’accès spécifié par le nouvel ensemble de chemins.

SetPathList(FileIOPermissionAccess, String)

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

Définit l’accès spécifié au fichier ou répertoire spécifié, en remplaçant l’état existant de l’autorisation.

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)

Paramètres

access
FileIOPermissionAccess

Combinaison d'opérations de bits des valeurs FileIOPermissionAccess.

path
String

Chemin absolu du fichier ou du répertoire.

Exceptions

Le paramètre access n’est pas une valeur valide de FileIOPermissionAccess.

- ou -

Le paramètre path n’est pas une chaîne valide.

- ou -

Le paramètre path ne spécifiait pas le chemin d’accès absolu au fichier ou répertoire.

Exemples

L’exemple de code suivant montre l’utilisation de la FileIOPermission.SetPathList(FileIOPermissionAccess, String) méthode .

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

Remarques

L’état précédent de l’autorisation actuelle pour le type d’accès spécifié est remplacé. Le code suivant définit l’accès pour C :\temp sur Read.

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

Cet accès ne sera pas remplacé par le code suivant, car les types d’accès ne sont pas les mêmes.

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

S’applique à

SetPathList(FileIOPermissionAccess, String[])

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

Définit l’accès spécifié sur les fichiers et répertoires spécifiés, en remplaçant l’état actuel de l’accès spécifié par le nouvel ensemble de chemins.

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())

Paramètres

access
FileIOPermissionAccess

Combinaison d'opérations de bits des valeurs FileIOPermissionAccess.

pathList
String[]

Tableau contenant les chemins absolus des fichiers et répertoires.

Exceptions

Le paramètre access n’est pas une valeur valide de FileIOPermissionAccess.

- ou -

Une entrée du paramètre pathList n’est pas une chaîne valide.

Remarques

L’état précédent de l’autorisation actuelle pour le type d’accès spécifié est remplacé. Le code suivant définit l’accès pour C :\temp sur Read.

Cet accès ne sera pas remplacé par le code suivant, car les types d’accès ne sont pas les mêmes.

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"})

S’applique à