ReflectionPermission.Intersect(IPermission) Метод

Определение

Создает и возвращает разрешение, представляющее собой пересечение текущего и указанного разрешений.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

Параметры

target
IPermission

Разрешение, пересекающееся с текущим разрешением.A permission to intersect with the current permission. Его тип должен совпадать с типом текущего разрешения.It must be of the same type as the current permission.

Возвраты

Новое разрешение, представляющее собой пересечение текущего и указанного разрешений.A new permission that represents the intersection of the current permission and the specified permission. Это новое разрешение равно null, если пересечение является пустым.This new permission is null if the intersection is empty.

Исключения

Параметр target не равен null и имеет тип, не совпадающий с типом текущего разрешения.The target parameter is not null and is not of the same type as the current permission.

Примеры

В следующем примере кода показано поведение Intersect метода.The following code example shows the behavior of the Intersect method. Этот пример является частью большого примера, ReflectionPermission приведенного для класса.This example is part of a larger example provided for the ReflectionPermission class.

Примечание

Пример кода предназначен для отображения поведения метода, а не для демонстрации его использования.The code example is intended to show the behavior of the method, not to demonstrate its use. Как правило, в инфраструктуре безопасности используются методы классов разрешений. они обычно не используются в приложениях.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


Комментарии

Пересечением двух разрешений является разрешение, описывающее набор операций, которые они описывают как общие.The intersection of two permissions is a permission that describes the set of operations they both describe in common. Только запрос, передающий оба исходных разрешения, будет передавать пересечение.Only a demand that passes both original permissions will pass the intersection.

Применяется к