CodeAccessPermission.Union Method (IPermission)
When overridden in a derived class, creates a permission that is the union of the current permission and the specified permission.
Assembly: mscorlib (in mscorlib.dll)
Parameters
- other
-
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.IPermissionA new permission that represents the union of the current permission and the specified permission.
Implements
IPermission.Union(IPermission)| Exception | Condition |
|---|---|
| NotSupportedException | 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()
Else
Return Nothing
End If
End Function 'Union
Available since 1.1