Export (0) Print
Expand All

FileDialogPermission.Union Method

Creates a permission that is the union of the current permission and the specified permission.

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

public override IPermission Union (
	IPermission target
)
public IPermission Union (
	IPermission target
)
public override function Union (
	target : IPermission
) : IPermission

Parameters

target

A permission to combine with the current permission. It must be of the same type as the current permission.

Return Value

A new permission that represents the union of the current permission and the specified permission.

Exception typeCondition

ArgumentException

The target parameter is not a null reference (Nothing in Visual Basic) and is not of the same type as the current permission.

The result of a call to Union is a permission that represents all operations represented by both the current permission and the specified permission. Any demand that passes either permission passes their union.

The following code example is intended to show the behavior of the Union method, not to demonstrate its use. In general, the methods of permission classes are used by the security infrastructure and are not intended for use in applications. However, the following code example shows how the method performs if you execute the method from your code. For the complete code example, see the FileDialogPermission class.

private bool UnionDemo()
{
    bool returnValue = true;

            fileDialogPerm3 = (FileDialogPermission)fileDialogPerm1.Union(fileDialogPerm2);

            if (fileDialogPerm3 == null)
            {
                Console.WriteLine("The union of " + fileDialogPerm1.Access + 
                    " and " + fileDialogPerm2.Access + " is null.");
            }
            else
            {
                Console.WriteLine("The union of " + fileDialogPerm1.Access + " and " +
                    fileDialogPerm2.Access + " = " +
                    ((FileDialogPermission)fileDialogPerm3).Access.ToString());
            }

    return returnValue;

}

// Union creates a new permission that is the union of 
// the current permission and the
// specified permission.
private boolean UnionDemo() 
{
    boolean returnValue = true;
    FileDialogPermissionAccess fileDialog1[] = 
        new FileDialogPermissionAccess[1];
    FileDialogPermissionAccess fileDialog2[] = 
        new FileDialogPermissionAccess[1];
    FileDialogPermission fileDialogIdPerm1[] = 
        new FileDialogPermission[1];
    FileDialogPermission fileDialogIdPerm2[] = 
        new FileDialogPermission[1];
    IPermission fileDialogIdPerm3;
    FileDialogGenerator fileDialogGen1 =  
        new FileDialogGenerator();
    FileDialogGenerator fileDialogGen2 =  
        new FileDialogGenerator();
    fileDialogGen1.ResetIndex();
    while(fileDialogGen1.CreateFileDialog(fileDialogIdPerm1, 
        fileDialog1)) {
        if (fileDialogIdPerm1[0] == null) {
            continue ;
        }
        Console.WriteLine("************************" 
            + "**********************************\n");
        fileDialogGen2.ResetIndex();
        
        while(fileDialogGen2.CreateFileDialog(fileDialogIdPerm2, 
            fileDialog2)) {
            if (fileDialogIdPerm2[0] == null) {
                continue ;
            }
            fileDialogIdPerm3 =((FileDialogPermission)(
                fileDialogIdPerm1[0].Union(fileDialogIdPerm2[0])));
            fileDialogIdPerm3 = fileDialogIdPerm1[0].
                Union(fileDialogIdPerm2[0]);
            
            if (fileDialogIdPerm3 == null) {
                Console.WriteLine(("The union of " + fileDialog1[0] 
                    + " and " + fileDialog2[0] + " is null."));
            }
            else {
                Console.WriteLine(("The union of " 
                    + fileDialogIdPerm1[0].get_Access() + " and " 
                    + fileDialogIdPerm2[0].get_Access() + " = " 
                    + ((FileDialogPermission)(fileDialogIdPerm3)).
                    get_Access().ToString()));
            }
        }
    }
    return returnValue ;
} //UnionDemo

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

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see System Requirements.

.NET Framework

Supported in: 2.0, 1.1, 1.0

Community Additions

ADD
Show:
© 2014 Microsoft