ReflectionPermission.Union(IPermission) Método

Definição

Cria uma permissão que é a união entre a permissão atual e a permissão especificada.Creates a permission that is the union of the current permission and the specified permission.

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

Uma permissão a ser combinada com a permissão atual.A permission to combine with the current permission. Ele deve ser do mesmo tipo da permissão atual.It must be of the same type as the current permission.

Retornos

Uma nova permissão que representa a união da permissão atual e da permissão especificada.A new permission that represents the union of the current permission and the specified permission.

Exceções

O parâmetro other não é null e não é do mesmo tipo que a permissão atual.The other parameter is not null and is not of the same type as the current permission.

Exemplos

O exemplo de código a seguir mostra o comportamento do método Union.The following code example shows the behavior of the Union method. Este exemplo faz parte de um exemplo maior fornecido para a classe ReflectionPermission.This example is part of a larger example provided for the ReflectionPermission class.

Observação

O exemplo de código destina-se a mostrar o comportamento do método, não para demonstrar seu uso.The code example is intended to show the behavior of the method, not to demonstrate its use. Em geral, os métodos de classes de permissão são usados pela infraestrutura de segurança; Normalmente, eles não são usados em aplicativos.In general, the methods of permission classes are used by the security infrastructure; they are not typically used in applications.

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


Comentários

O resultado de uma chamada para Union é uma permissão que representa todas as operações representadas pela permissão atual e a permissão especificada.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. Qualquer demanda que passe a permissão passa sua União.Any demand that passes either permission passes their union.

Aplica-se a