Sdílet prostřednictvím


ReflectionPermission.Intersect(IPermission) Metoda

Definice

Vytvoří a vrátí oprávnění, které je průsečíkem aktuálního a zadaného oprávnění.

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

Parametry

target
IPermission

Oprávnění, které se protíná s aktuálním oprávněním. Musí být stejného typu jako aktuální oprávnění.

Návraty

Nové oprávnění, které představuje průsečík aktuálního oprávnění a zadaného oprávnění. Toto nové oprávnění je null , pokud je průsečík prázdný.

Výjimky

Parametr target není null a není stejného typu jako aktuální oprávnění.

Příklady

Následující příklad kódu ukazuje chování Intersect metody . Tento příklad je součástí většího příkladu poskytnutého ReflectionPermission pro třídu .

Poznámka

Příklad kódu je určen k zobrazení chování metody, nikoli k demonstraci jejího použití. Obecně platí, že metody tříd oprávnění jsou používány infrastrukturou zabezpečení; v aplikacích se obvykle nepoužívají.

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

Poznámky

Průsečík dvou oprávnění je oprávnění, které popisuje sadu operací, které obě popisují společně. Průnikem projde jenom požadavek, který projde oběma původními oprávněními.

Platí pro