FileIOPermission.Copy Method

Creates and returns an identical copy of the current permission.

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

public override IPermission Copy ()
public IPermission Copy ()
public override function Copy () : IPermission
Not applicable.

Return Value

A copy of the current permission.

A copy of the permission represents the same access to resources as the original permission.

The following code example shows the behavior of the Copy method. This example is part of a larger example provided for the FileIOPermission class.

NoteNote:

The code example is intended to show the behavior of the method, not to demonstrate its use. In general, the methods of permission classes are used by the security infrastructure; they are not typically used in applications.

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;
}

//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   

Windows 98, Windows Server 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

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0, 2.0, 1.1, 1.0

Community Additions

ADD
Show: