CodeAccessPermission.Union Method (IPermission)


The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

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


Type: System.Security.IPermission

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

Return Value

Type: System.Security.IPermission

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

Exception Condition

The other parameter is not null. This method is only supported at this level when passed null.

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 null.

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

.NET Framework
Available since 1.1
Return to top