CodeAccessPermission.Union Method

When overridden in a derived class, creates a permission that is the union of the current permission and the specified permission.

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

Public Overridable Function Union ( _
	other As IPermission _
) As IPermission
Dim instance As CodeAccessPermission
Dim other As IPermission
Dim returnValue As IPermission

returnValue = instance.Union(other)
public IPermission Union (
	IPermission other
public function Union (
	other : IPermission
) : IPermission
Not applicable.



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


The other parameter is not a null reference (Nothing in Visual Basic). This method is only supported at this level when passed a null reference (Nothing in Visual Basic).

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

Notes to Inheritors: You must override this method in a derived class. You should return a copy of the permission if the value of the other parameter is a null reference (Nothing in Visual Basic).

The following code example shows an override of the Union method. This code example is part of a larger example provided for the CodeAccessPermission class.

        Public Overrides Function Union(ByVal target As IPermission) As IPermission
#If (Debug) Then

            Console.WriteLine("************* Entering Union *********************")
#End If
            If target Is Nothing Then
                Return Me
            End If
#If (Debug) Then
            Console.WriteLine(("This is = " + CType(Me, NameIdPermission).Name))
            Console.WriteLine(("Target is " + CType(target, NameIdPermission).m_name))
#End If
            If Not VerifyType(target) Then
                Throw New ArgumentException(String.Format("Argument_WrongType", Me.GetType().FullName))
            End If

            Dim operand As NameIdPermission = CType(target, NameIdPermission)

            If operand.IsSubsetOf(Me) Then
                Return Me.Copy()
            ElseIf Me.IsSubsetOf(operand) Then
                Return operand.Copy()
                Return Nothing
            End If
        End Function 'Union

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