Freigeben über


ReflectionPermission.Intersect(IPermission) Methode

Definition

Erstellt eine Berechtigung als Schnittmenge der aktuellen und der angegebenen Berechtigung und gibt diese zurück.

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

Parameter

target
IPermission

Eine Berechtigung für die Überschneidung mit der aktuellen Berechtigung. Sie muss denselben Typ aufweisen wie die aktuelle Berechtigung.

Gibt zurück

Eine neue Berechtigung, die die Schnittmenge der aktuellen und der angegebenen Berechtigung darstellt. Diese neue Berechtigung ist null, wenn die Schnittmenge leer ist.

Ausnahmen

Der target-Parameter ist nicht null und weist nicht denselben Typ wie die aktuelle Berechtigung auf.

Beispiele

Das folgende Codebeispiel zeigt das Verhalten der Intersect -Methode. Dieses Beispiel ist Teil eines größeren Beispiels, das für die ReflectionPermission -Klasse bereitgestellt wird.

Hinweis

Das Codebeispiel soll das Verhalten der Methode und nicht deren Verwendung veranschaulichen. Im Allgemeinen werden die Methoden der Berechtigungsklassen von der Sicherheitsinfrastruktur verwendet. sie werden in der Regel nicht in Anwendungen verwendet.

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

Hinweise

Die Schnittmenge von zwei Berechtigungen ist eine Berechtigung, die den Satz von Vorgängen beschreibt, die beide gemeinsam beschreiben. Nur eine Anforderung, die beide ursprünglichen Berechtigungen übergibt, übergibt die Schnittmenge.

Gilt für: