Freigeben über


FileIOPermission.Copy-Methode

Erstellt eine identische Kopie der aktuellen Berechtigung und gibt die Kopie zurück.

Namespace: System.Security.Permissions
Assembly: mscorlib (in mscorlib.dll)

Syntax

'Declaration
Public Overrides Function Copy As IPermission
'Usage
Dim instance As FileIOPermission
Dim returnValue As IPermission

returnValue = instance.Copy
public override IPermission Copy ()
public:
virtual IPermission^ Copy () override
public IPermission Copy ()
public override function Copy () : IPermission

Rückgabewert

Eine Kopie der aktuellen Berechtigung.

Hinweise

Eine Kopie der Berechtigung stellt den gleichen Ressourcenzugriff dar wie die ursprüngliche Berechtigung.

Beispiel

    Private Function CopyDemo() As Boolean
        Dim returnValue As Boolean = True
        Dim fileIO1 As String = ""
        Dim fileIOPerm1, fileIOPerm2 As FileIOPermission
        Dim fileIOGen1 As New FileIOGenerator()
        Dim fileIOGen2 As New FileIOGenerator()

        fileIOGen1.ResetIndex()
        While fileIOGen1.CreateFilePath(fileIO1)
            If fileIO1 = "" Then
                fileIOPerm1 = New FileIOPermission(PermissionState.None)
            Else
                fileIOPerm1 = New FileIOPermission(FileIOPermissionAccess.Read, fileIO1)
            End If
            Console.WriteLine("**********************************************************" & ControlChars.Lf)
            fileIOGen2.ResetIndex()
            Try
                fileIOPerm2 = CType(fileIOPerm1.Copy(), FileIOPermission)
                If Not (fileIOPerm2 Is Nothing) Then
                    Console.WriteLine(("Result of copy = " & fileIOPerm2.ToString() & ControlChars.Lf))
                Else
                    Console.WriteLine("Result of copy is null. " & ControlChars.Lf)
                End If
            Catch e As Exception
                If (True.ToString()) Then
                    If fileIO1 = "" Then
                        Console.WriteLine("The target FileIOPermission is empty, copy failed.")

                    Else
                        Console.WriteLine(e.ToString())
                    End If
                End If
                GoTo ContinueWhile1
            End Try
ContinueWhile1:
        End While
        Return returnValue
    End Function 'CopyDemo
private bool CopyDemo()
{
    bool returnValue = true;
    string fileIO1;
    FileIOPermission fileIOPerm1, fileIOPerm2;
    FileIOGenerator fileIOGen1 = new FileIOGenerator();
    FileIOGenerator fileIOGen2 = new FileIOGenerator();

    fileIOGen1.ResetIndex();
    while (fileIOGen1.CreateFilePath( out fileIO1 ))
    {
        if (fileIO1 == "")
            fileIOPerm1 = new FileIOPermission(PermissionState.None);
        else
            fileIOPerm1 = new FileIOPermission(FileIOPermissionAccess.Read, fileIO1);

        Console.WriteLine("**********************************************************\n");
        fileIOGen2.ResetIndex();
        try
        {
            fileIOPerm2 = (FileIOPermission)fileIOPerm1.Copy();
            if (fileIOPerm2 != null)
            {
                Console.WriteLine("Result of copy = " + fileIOPerm2.ToString() + "\n");
            }
            else
            {
                Console.WriteLine("Result of copy is null. \n");
            }
        }
        catch (Exception e)
        {
            {
                if (fileIO1 == "")
                {
                    Console.WriteLine("The target FileIOPermission is empty, copy failed.");

                }
                else
                    Console.WriteLine(e);
            }
            continue;
        }
    }
    return returnValue;
}
bool CopyDemo()
{
   bool returnValue = true;
   String^ fileIO1;
   FileIOPermission^ fileIOPerm1;
   FileIOPermission^ fileIOPerm2;
   FileIOGenerator^ fileIOGen1 = gcnew FileIOGenerator;
   FileIOGenerator^ fileIOGen2 = gcnew FileIOGenerator;
   fileIOGen1->ResetIndex();
   while ( fileIOGen1->CreateFilePath( &fileIO1 ) )
   {
      if (fileIO1 == "")
          fileIOPerm1 = gcnew FileIOPermission(PermissionState::None);
       else
           fileIOPerm1 = gcnew FileIOPermission(FileIOPermissionAccess::Read, fileIO1);

      Console::WriteLine( "**********************************************************\n" );
      fileIOGen2->ResetIndex();
      try
      {
         fileIOPerm2 = dynamic_cast<FileIOPermission^>(fileIOPerm1->Copy());
         if ( fileIOPerm2 != nullptr )
         {
            Console::WriteLine( "Result of copy = {0}\n", fileIOPerm2 );
         }
         else
         {
            Console::WriteLine( "Result of copy is null. \n" );
         }
      }
      catch ( Exception^ e ) 
      {
         {
            if ( fileIO1->Equals( "" ) )
            {
               Console::WriteLine( "The target FileIOPermission is empty, copy failed." );
            }
            else
                           Console::WriteLine( e );
         }
         continue;
      }

   }

   return returnValue;
}

//Copy creates and returns an identical copy of the current permission.
private boolean CopyDemo() 
{
    boolean returnValue = true;
    String fileIO1[] = new String[1];
    FileIOPermission fileIOPerm1[] = new FileIOPermission[1];
    FileIOPermission fileIOPerm2[] = new FileIOPermission[1];
    FileIOGenerator fileIOGen1 =  new FileIOGenerator();
    FileIOGenerator fileIOGen2 =  new FileIOGenerator();
    
    fileIOGen1.ResetIndex();
    while(fileIOGen1.CreateFilePath(fileIOPerm1, fileIO1, 
        FileIOPermissionAccess.Read)) {
            if (fileIO1 == null) {
                continue ;
            }
            Console.WriteLine("**********************************" 
            + "************************\n");
            fileIOGen2.ResetIndex();
            try {
                fileIOPerm2[0] =((FileIOPermission)(fileIOPerm1[0].Copy()));
                if (fileIOPerm2[0]  != null) {
                    Console.WriteLine(("Result of copy = " 
                    + fileIOPerm2[0].ToString() + "\n"));
                }
                else {
                    Console.WriteLine("Result of copy is null. \n");
                }
            }
            catch(System.Exception e) {
                if (fileIO1[0].Equals("")) {
                    Console.WriteLine("The target FileIOPermission " 
                        + "is empty, copy failed.");
                }
                else {
                    Console.WriteLine(e);
                }
            }
            continue ;
        }
    return returnValue ;
} //CopyDemo   

Plattformen

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

Siehe auch

Referenz

FileIOPermission-Klasse
FileIOPermission-Member
System.Security.Permissions-Namespace