ReflectionPermission.Intersect(IPermission) Método

Definição

Cria e retorna uma permissão que é a interseção de permissão atual e da permissão especificada.Creates and returns a permission that is the intersection of the current permission and the specified permission.

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

Parâmetros

target
IPermission

Uma permissão para ter interseção com a permissão atual.A permission to intersect 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 interseção da permissão atual e da permissão especificada.A new permission that represents the intersection of the current permission and the specified permission. Essa nova permissão é null se a interseção estiver vazia.This new permission is null if the intersection is empty.

Exceções

O parâmetro target não é null e não é do mesmo tipo que a permissão atual.The target 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 Intersect.The following code example shows the behavior of the Intersect 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 IntersectDemo()
{
    ReflectionPermission memberAccessPerm = new ReflectionPermission(ReflectionPermissionFlag.MemberAccess);
    ReflectionPermission restrictedMemberAccessPerm = new ReflectionPermission(ReflectionPermissionFlag.RestrictedMemberAccess);
    ReflectionPermission reflectionPerm3 = (ReflectionPermission)memberAccessPerm.Intersect(restrictedMemberAccessPerm);
    if (reflectionPerm3 != null)
    {
        Console.WriteLine("The intersection of " + memberAccessPerm.Flags +
            " and " + restrictedMemberAccessPerm.Flags + " = " +
            ((ReflectionPermission)reflectionPerm3).Flags.ToString());
    }
    else
    {
        Console.WriteLine("The intersection of " + memberAccessPerm.Flags + " and " +
            restrictedMemberAccessPerm.Flags + " is null.");
    }
}
Private Shared Sub IntersectDemo()
    Dim memberAccessPerm As New ReflectionPermission(ReflectionPermissionFlag.MemberAccess)
    Dim restrictedMemberAccessPerm As New ReflectionPermission(ReflectionPermissionFlag.RestrictedMemberAccess)
    Dim reflectionPerm3 As ReflectionPermission = CType(memberAccessPerm.Intersect(restrictedMemberAccessPerm), ReflectionPermission)
    If Not (reflectionPerm3 Is Nothing) Then
        Console.WriteLine("The intersection of " + memberAccessPerm.Flags.ToString() + _
        " and " + restrictedMemberAccessPerm.Flags.ToString() + " = " + _
        CType(reflectionPerm3, ReflectionPermission).Flags.ToString())
    Else
        Console.WriteLine("The intersection of " + memberAccessPerm.Flags.ToString + " and " + _
            restrictedMemberAccessPerm.Flags.ToString() + " is null.")
    End If

End Sub


Comentários

A interseção de duas permissões é uma permissão que descreve o conjunto de operações que ambos descrevem em comum.The intersection of two permissions is a permission that describes the set of operations they both describe in common. Somente uma demanda que passa as duas permissões originais passará a interseção.Only a demand that passes both original permissions will pass the intersection.

Aplica-se a