Comparteix a través de


ReflectionPermission.Union(IPermission) Método

Definición

Crea un permiso que es la unión del permiso actual y el permiso especificado.

public:
 override System::Security::IPermission ^ Union(System::Security::IPermission ^ other);
public override System.Security.IPermission Union (System.Security.IPermission other);
override this.Union : System.Security.IPermission -> System.Security.IPermission
Public Overrides Function Union (other As IPermission) As IPermission

Parámetros

other
IPermission

Permiso para combinar con el permiso actual. Debe ser del mismo tipo que el permiso actual.

Devoluciones

Nuevo permiso que representa la unión del permiso actual y el permiso especificado.

Excepciones

El parámetro other no es null y no es del mismo tipo que el permiso actual.

Ejemplos

En el ejemplo de código siguiente se muestra el comportamiento del Union método . Este ejemplo forma parte de un ejemplo más grande proporcionado para la ReflectionPermission clase .

Nota:

El ejemplo de código está pensado para mostrar el comportamiento del método, no para demostrar su uso. En general, la infraestructura de seguridad utiliza los métodos de las clases de permisos; normalmente no se usan en aplicaciones.

private static void UnionDemo()
{
    ReflectionPermission memberAccessPerm = new ReflectionPermission(ReflectionPermissionFlag.MemberAccess);
    ReflectionPermission restrictedMemberAccessPerm = new ReflectionPermission(ReflectionPermissionFlag.RestrictedMemberAccess);
    ReflectionPermission reflectionPerm3 = (ReflectionPermission)memberAccessPerm.Union(restrictedMemberAccessPerm);
    if (reflectionPerm3 == null)
    {
        Console.WriteLine("The union of " + memberAccessPerm.Flags + " and " +
            restrictedMemberAccessPerm.Flags + " is null.");
    }
    else
    {
        Console.WriteLine("The union of " + memberAccessPerm.Flags + " and " +
            restrictedMemberAccessPerm.Flags + " = " +
            ((ReflectionPermission)reflectionPerm3).Flags.ToString());
    }
}
Private Shared Sub UnionDemo()
    Dim memberAccessPerm As New ReflectionPermission(ReflectionPermissionFlag.MemberAccess)
    Dim restrictedMemberAccessPerm As New ReflectionPermission(ReflectionPermissionFlag.RestrictedMemberAccess)
    Dim reflectionPerm3 As ReflectionPermission = _
            CType(memberAccessPerm.Union(restrictedMemberAccessPerm), ReflectionPermission)
    If reflectionPerm3 Is Nothing Then
        Console.WriteLine("The union of " + memberAccessPerm.Flags.ToString() + " and " + _
        restrictedMemberAccessPerm.Flags.ToString() + " is null.")
    Else
        Console.WriteLine("The union of " + memberAccessPerm.Flags.ToString() + _
        " and " + restrictedMemberAccessPerm.Flags.ToString() + " = " + _
        CType(reflectionPerm3, ReflectionPermission).Flags.ToString())
    End If

End Sub

Comentarios

El resultado de una llamada a Union es un permiso que representa todas las operaciones representadas por el permiso actual y el permiso especificado. Cualquier demanda que pase cualquiera de los permisos pasa su unión.

Se aplica a